排序算法排序算法 1、简单选择排序简单选择排序 假设有 n 个数,作简单选择排序简单选择排序,按升序排列: 先通过 n-1 次比较,从 n 个值中找出最小值,将它与第一个值交换。 再通过 n-2 次比较,从剩余的 n-1 个值中找出(这剩余的 n-1 个值中的)最小值,将它与第二个值交换。 重复上述操作,共进行 n-1 趟后,排序完成。 具体描述为: 第 1 趟:在第 1 n 个数中找出最小值,与第 1 个数交换,前 1 个数排好。 第 2 趟:在第 2 n 个数中找出最小值,与第 2 个数交换,前 2 个数排好。 第 n-1 趟:在第 n-1 n 个数中找出最小值,与第 n-1 个数交换,前 n-1 个数排好。 例,随机产生并显示 20 个 10100 之间的整数,然后用选择排序选择排序,并显示排序后的结果。 /* Selection Sort by lyj */ #include #include #include #define n 20 int main() int i, j, minIndex, tmp; int an; srand(time(0); for(i=0; i #include #include #define n 20 int main() int i, j, flag, tmp; int an; srand(time(0); for(i=0; i aj+1) tmp = aj; aj = aj+1; aj+1 = tmp; flag = 0; /* 一旦发生交换,就说明本趟无序一旦发生交换,就说明本趟无序 */ if(flag) break; /* 若本趟两两有序,则可以提前结束若本趟两两有序,则可以提前结束*/ printf(“nn 选择法排序之后的结果为:选择法排序之后的结果为:nn“); for(i=0; in; i+) printf(“%d “, ai); return 0; 。
《选择排序和冒泡排序例题解析(c语言)》由会员luoxia****01802分享,可在线阅读,更多相关《选择排序和冒泡排序例题解析(c语言)》请在金锄头文库上搜索。