1、选择排序
#include#include #define N 5 //排序的数据个数 typedef struct Num{ int data[N-1]; int length;}Num;int main(int argc, char *argv[]) { int i,j,min; struct Num La; printf("请输入您要排序的数字序列:\n"); for(i = 0;i < N;i++) { scanf("%d",&La.data[i]); } for(i = 0;i < N;i++) { for(j = i;j < N;j++) { int t; if(La.data[i] >= La.data[j]) { t = La.data[j]; La.data[j] = La.data[i]; La.data[i] = t; } } } printf("排序后数字序列为:\n"); for(i = 0;i < N;i++) { printf("%3d",La.data[i]); } system("pause"); return 0;}
思想:每一趟排序找到所有元素的最小值,首先选出最小的值放在第一个位置,然后选出次小的值放在第二个位置,以此类推。 时间复杂度为O(n^2)
posted on 2014-12-11 15:25 阅读( ...) 评论( ...)