当前位置: 首页 > news >正文

宝安led行业网站建设wordpress搭建公司网站

宝安led行业网站建设,wordpress搭建公司网站,做网站付款会有凭证吗,氧os哪个网站做的最好目录 前言#xff1a; 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言#xff1a; 嗨嗨^_^#xff0c;米娜桑#xff0c;今天我们继续学习排序算法中的插入排序#xff0c;激不激动#xff0c;兴不兴奋呢#xff01;好了废话不多说#xff0c;…目录 前言 插入排序 原理图 代码实现 分析总结 二分法插入排序 代码实现 前言 嗨嗨^_^米娜桑今天我们继续学习排序算法中的插入排序激不激动兴不兴奋呢好了废话不多说下面请看正文 插入排序 插入排序一般也被称为直接插入排序。对于少量元素的排序它是一个有效的算法 。插入排序是一种最简单的排序方法它的基本思想是将一个记录插入到已经排好序的有序表中从而一个新的、记录数增1的有序表。在其实现过程使用双层循环外层循环对除了第一个元素之外的所有元素内层循环对当前元素前面有序表进行待插入位置查找并进行移动。 原理图 初始数组如下所示 第一次拿到第一个数字因为第一个数字不存在顺序无法进行比较所以不需要进行相关的操作 第二次拿到第二个数字 1 与前面的数字进行比较发现6比1大那么就进行数字交换如下图所示 第三次拿到数字9发现9比前面的两个数字都要大那么就保持位置不变继续往后看。 第四次拿到数字2此时发现2比9小比6小比1大那么就把2插入到1和6之间6和9依次向后移动一位。 第五次拿到数字4此时把数字4插入到2和6之间同样的6和9依次往后移动一位。 第六次拿到数字8此时8比9小那么就插入到9的前面即可9向后移动一位 第七次拿到12发现12比前面已排序好了的数字都要大那么位置不变。 第八次拿到10此时10比12小比9大那么就插入到9和12之间12向后移动一位。 看这样就完成了排序了  动态图展示  代码实现 #includestdio.h #includestdlib.h #includestring.h #includetime.h//直接插入 void insert_sort(int* n, int length) {for (int i 0; i length; i) {int temp n[i];for (int j i - 1; j 0; j--) {if (n[j] temp) {n[j 1] n[j];n[j] temp;}}}} int main() {int array[10];srand((unsigned)time(0));for (int i 0; i 10; i) {array[i] rand() % 20;}for (int i 0; i sizeof(array) / sizeof(int); i) {printf(%d , array[i]);}printf(\n排序后);insert_sort(array, sizeof(array) / sizeof(int));for (int i 0; i sizeof(array) / sizeof(int); i) {printf(%d , array[i]);} } //输出结果 //9 16 13 4 8 12 2 0 7 2 //排序后0 2 2 4 7 8 9 12 13 16 分析总结 时间复杂度 最好情况就是全部有序此时只需遍历一次最好的时间复杂度为O ( n )如果完全逆序的话那么时间复杂度就会变为O(n^2),直接翻倍。所以时间复杂度为O(n^2) 。 空间复杂度 这里没有去开辟空间空间是一个常量所以空间复杂度是On. 稳定性  遇到相同大小元素过程中依然是插入到相同元素的前边相对位置没有发生改变所以稳定性好。 二分法插入排序 二分法插入排序是对插入排序的代码优化整体的实质上还是插入排序时间复杂度依然是不会改变的On^2,当n较大时,总排序码比较次数比直接插入排序的最坏情况要好得多,但比其最好情况要差。同样的二分法插入排序是稳定的。 代码实现 #includestdio.h #includestdlib.h #includestring.h #includetime.h //二分法插入排序 void insert_bin_sort(int *n,int length) {int left, right, mid;for (int i 1; i length; i) {left 0;right i - 1;while (left right) {mid (left right) / 2;if (n[mid] n[i]) {right mid - 1;}else{left mid 1;}}int temp n[i];for (int j i; j left; j--) {n[j] n[j - 1];}n[left] temp;} } int main() {int array[10];srand((unsigned)time(0));for (int i 0; i 10; i) {array[i] rand() % 20;}for (int i 0; i sizeof(array) / sizeof(int); i) {printf(%d , array[i]);}printf(\n排序后);insert_bin_sort(array, sizeof(array) / sizeof(int));for (int i 0; i sizeof(array) / sizeof(int); i) {printf(%d , array[i]);} } //输出结果 //15 0 15 3 5 7 9 6 12 14 //排序后0 3 5 6 7 9 12 14 15 15 以上就是今天的全部内容了我们下一期再见 分享一张壁纸
http://www.zqtcl.cn/news/996900/

相关文章:

  • 河北省和城乡建设厅网站首页单页设计图片
  • 海东地网站建设南京市建设局网站栖霞
  • 1g做网站空间a3网站建设
  • 海络网站室内设计工作前景
  • 柳州旅游网站建设橱柜设计师培训
  • 做网站属于什么专业个人是否可以申请网址
  • 品牌网站建是啥网站点击率怎么建
  • 上海市质量工程建设管理协会网站网站开发制作公司排行
  • 网站空间租用多少钱怎么在外贸公司拿订单
  • 建设银行网站背景图片温州做网站哪家比较好
  • 网站架设建设如何做网站电话
  • 团购网站怎么推广app平台搭建步骤
  • 沂水建设局网站郑州企业微网站建设
  • 免费企业网站空间wordpress目录主题
  • 做网站的销售话术苏州网站设计哪家公司好
  • 足球梦网站建设的基本思路网站介绍词
  • 森马网站建设情况网站推广中应注意哪些事项
  • 简单网站vs2008不能新建网站
  • 牌具做网站可以吗海外广告投放公司
  • 响应式单页网站模板宁波企业自助建站
  • 网站广告收费标准装饰设计公司起名
  • 网站开发人员构成中国兰州网官网
  • 网站设计的提案旅游网站建设风格
  • 成都网站建设的公司做高大上分析的网站
  • 专业企业网站建设公司成都的网站
  • 广东省建设教育协会官方网站首页怎么设置wordpress头像
  • 图书网站建设论文页游中心
  • 建网站的流程及注意事项任务网站建设
  • 河北邯郸做网站的公司哪家好辽源市住房和城乡建设局网站
  • 网站系统建设技术服务费安康市网站建设