排序

来源:互联网 发布:皓月屠龙翅膀进阶数据 编辑:程序博客网 时间:2024/05/01 07:55
冒泡排序是:相邻两数两两比较,进行相邻大小的交换,共进行N-1次,每轮  进行N-1-i次.核心程序段为:for(i=0;i<N-1;i++){   for(j=0;j<N-i-1;j++)       if(a[j]>a[j+1])             {temp=a[j];a[j]=a[j+1];a[j+1]=temp}}选择排序是:首数与后数进行两两相比,按大小进行交换,共进行N-1次,每轮进行N-1次,每轮进行从i+1开始N-1为止。核心程序段为:for(i=0;i<N-1;i++){    for(j=i+1;j<N-1;j++)           if(a[i]>a[j])                {temp=a[i];a[i]=a[j];a[j]=temp}}注意了与冒泡排序的核心段的区别在于:     (1)交换的两个对象:冒泡是 a[j]>a[j+1]                            选折是 a[i]>a[j]     (2)轮次的变化:    冒泡是 for(j=0;j<N-i-1;j++)                           选折是 for(j=i+1;j<N-1;j++)      冒泡的形式是:a[n]与啊a[n+1]比较交换              选折的形式则是:                    第一次 a[0]与以后的比较交换                    第二次 a[1]与以后的比较交换                    ........                    第n次是a[n]与以后的比较交换
原创粉丝点击