十大排序算法 您所在的位置:网站首页 数组排序c语言从大到小 十大排序算法

十大排序算法

2024-06-07 21:09| 来源: 网络整理| 查看: 265

二分插入排序法 直接插入排序方法:直接插入排序法

比较着看可以加深印象

原理

按由大到小来说 同直接插入排序一样,也是分有序序列和无序序列,将待排序的无序序列插入到有序序列当中。 二分插入是把待插入数值先和有序序列的中间数值进行比较,如果比中间值大,就在中间值的左侧在找中间值进行比较,如果比中间值小,就在中间值的右侧在找中间值进行比较,直到找到合适的位置插入到有序序列中。

C语言代码 #include #include #include //type为 0 时排序从小到大,为 1 时排序从大到小 void Insertion(int a[],int n,int type) { for ( int i = 1; i int mid = (left+right) / 2; //中间值 if(type == 0 ? (a[mid] > temp) : (a[mid] left = mid + 1; //把左侧边界加大,在中间值得右边进行寻找 } } for ( int j = i-1; j >= left; j--) //将left到i-1之间的数都往后移动一个位置 //注意如果要插入的数比前面排好序的数都大或者都小,则不会进入到该循环内,则此时将不会有数进行位置的移动 { a[j+1] = a[j]; } a[left] = temp; //将要插入的数值插入到合适位置 } } void main() { int a[10]; int i; //请输入十个整数 printf("请输入十个整数:\n"); for ( i = 0; i printf("%d \n",a[i]); } system("pause"); //为了防止控制台闪退用的 } 有说的不对的地方请各位大佬多多指教!


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有