新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了C语言中怎么实现插入排序与直接选择排序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都做网站、西畴网络推广、微信平台小程序开发、西畴网络营销、西畴企业策划、西畴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供西畴建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
声明待排序元素类型
/*-------------------------- typedef.h 方便修改待排序元素类型 -------------------------------------*/ #ifndef TYPEDEF_H #define TYPEDEF_H typedef int T; #endif
插入排序:
/*--------------------------------------------------------------------------------------- Insertion_sort.h 直接插入排序 对以数组形式给出的元素排序 时间复杂度为(逆序数)N(N-1)/4 = O(N^2),并且在最坏情形下达到这个值 最好情形下运行N次,最坏情形下运行2+3+…+N ------------------------------------------------------------------------------------------------*/ #ifndef INSERTION_SORT_H #define INSERTION_SORT_H #include "typedef.h" //直接插入排序 void Insertion_sort(T *a, int n) { for(int i = 1; i != n; ++i) { T temp = a[i]; int j = i - 1; for(; j >= 0 && temp < a[j]; --j ) a[j + 1] = a[j]; a[j + 1] = temp; } } #endif
直接选择排序:
/*---------------------------------------------- DirectSelection_sort.h 直接选择排序 时间复杂度O(N^2) --------------------------------------------------------*/ #ifndef DIRECTSELECTION_SORT_H #define DIRECTSELECTION_SORT_H #include "typedef.h" #include "swap.h" //直接选择法排序 void DirectSelection_sort(T*a, int n) { for(int i = 0; i != n; ++i) { int k = i; for(int j = i; j != n; ++j) if(a[j] < a[k]) k = j; swap(a[k],a[i]); } } #endif
上述内容就是C语言中怎么实现插入排序与直接选择排序,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。