第十六周 项目1-验证算法(3)

来源:互联网 发布:消防工程师网络班 编辑:程序博客网 时间:2024/06/05 02:54

/* 
 *Copyright(c) 2015, 烟台大学计算机学院 
 *All rights reserved. 
 *文件名称:验证算法(3).cpp 
 *作    者:周洁 
 *完成日期:2015年 12月14日 
 *版 本 号: 
 * 

 *问题描述:用序列{57, 40, 38, 11, 13, 34, 48, 75, 6, 19, 9, 7}作为测试数据,运行并本周视频中所讲过的算法对应 程序,观察运行结果并深刻领会算法的思路和实现方法:直接选择排序

 *输入描述:若干数据

 *输出描述:若干数据

*/

 

代码:

#include <stdio.h>#define MaxSize 20typedef int KeyType;    //定义关键字类型typedef char InfoType[10];typedef struct          //记录类型{    KeyType key;        //关键字项    InfoType data;      //其他数据项,类型为InfoType} RecType;              //排序的记录类型定义void SelectSort(RecType R[],int n){int i,j,k;RecType tmp;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(R[j].key<R[k].key)k=j;if(k!=1){tmp=R[i];R[i]=R[k];R[k]=tmp;}}}int main(){    int i,n=12;    RecType R[MaxSize];    KeyType a[]= {57,40,38,11,13,34,48,75,6,19,9,7};    for (i=0; i<n; i++)        R[i].key=a[i];    printf("排序前:");    for (i=0; i<n; i++)        printf("%d ",R[i].key);    printf("\n");    SelectSort(R,n);    printf("排序后:");    for (i=0; i<n; i++)        printf("%d ",R[i].key);    printf("\n");    return 0;}


运行结果:

0 0
原创粉丝点击