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

wordpress网站360搜索收录内链好的网站

wordpress网站360搜索收录,内链好的网站,建设银行贵阳银行下载官方网站,wordpress 备案信息修改1.插入排序 思路#xff1a;插入排序将一个数插入一个有序的数组里面#xff0c;将这个数和数组元素挨着比较#xff0c;直到他插入到合适的位置。 动画演示#xff1a; 步骤#xff1a;1.定义一个变量tmp保存要插入的数据 2.在循环中用tmp和有序数组中的元素比较#…1.插入排序 思路插入排序将一个数插入一个有序的数组里面将这个数和数组元素挨着比较直到他插入到合适的位置。 动画演示 步骤1.定义一个变量tmp保存要插入的数据 2.在循环中用tmp和有序数组中的元素比较比方说要和a[end]比较如果tmpa[end]的话就将a[end]右移动到a[end1],如果tmpa[end]的话就直接结束循环因为已经找到了自己的位置就是a[end1]. 3.当循环结束则表明已经找到了tmp的位置下标为end1,将tmp赋值给a[end1]即可。 代码实现 void InsertSort(int* a, int n) {for (int i 0; i n-1; i){int end i;int tmp a[end 1];while (end 0){if (tmp a[end]){a[end 1] a[end];end--;}else{break;}}a[end 1] tmp;}}直接插入排序的特性总结 元素集合越接近有序直接插入排序算法的时间效率越高时间复杂度O(N^2)空间复杂度O(1)它是一种稳定的排序算法稳定性稳定 2.希尔排序 希尔排序( 缩小增量排序 ) 希尔排序法又称缩小增量法。希尔排序法的基本思想是先选定一个整数把待排序文件中所有记录分成个组所有距离为的记录分在同一组内并对每一组内的记录进行排序。然后取重复上述分组和排序的工作。当到达1时所有记录在统一组内排好序。相当于分组的插入排序。 步骤 1.将要排列的数据分为几组 2.每一组内进行插入排序。 3.缩小组数当组数为1时相当于直接插入排序。 void ShellSort(int* a, int n) {int gap 3;for (int i 0; i n - gap; i gap){int end i;int tmp a[end gap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}}a[end gap] tmp;}}上面代码为单组的排序只有一组。 void ShellSort(int* a, int n) {int gap 3;for (int j 0; j gap; j){for (int i j; i n - gap; i gap){int end i;int tmp a[end gap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}}a[end gap] tmp;}}}加了循环将每组都排好序但是整体没有有序。当gap!1时属于预排序。每次循环减小gap的值。说明分组在变然后在每一组里面继续排序当gap等于1时相当于插入排序。 void ShellSort(int* a, int n) {int gap 3;while (gap 1){gap / 2;for (int j 0; j gap; j){for (int i j; i n - gap; i gap){int end i;int tmp a[end gap];while (end 0){if (tmp a[end]){a[end gap] a[end];end - gap;}else{break;}}a[end gap] tmp;}}}}上面这种是一组排会多套一层循环。如果使用下面的代码是一组没排完就进行排下一组一组中先把前两个元素排好在排第二组的前两个元素当排完每一组的前两个元素又回到第一组排第一组的前三个元素排好前三个元素接着排第二组的前三个元素依次类推。 时间复杂度平均O(N^1.3) 空间复杂度O(1) 3.选择排序 基本思想 每一次从待排序的数据元素中选出最小或最大的一个元素存放在序列的起始位置直到全部待排序的 数据元素排完 。 步骤1.定义两个变量maxi,mini分别记录要排序数据的最大值和最小值的下标。初始将·maxi,mini等于起始下标。 2.循环遍历要排序的数据更新下标如果有数据大于a[maxi],maxi更新为当前的i;如果有数据小于a[mini],mini更新为当前的i; 3.交换此时最小值和第一个数据的位置最大值和最后一个数据的位置已经保证了两个数据到他该有的位置。起始位置下标结束位置下标– 4.然后就要排除已经排好的两个元素现在maxi与mini起始下标就为第二个元素下标了。 5.循环条件起始位置下标小于结束位置下标。 动画演示 代码实现 void SelectSort(int* a, int n) {int begin 0;int end n - 1;while (begin end){int maxi begin;int mini begin;for (int i begin 1; i end; i){if (a[i] a[maxi]){maxi i;}if (a[i] a[mini]){mini i;}}swap(a[begin], a[mini]);swap(a[end], a[maxi]);begin;end--;}}如果你要排序的数据里面最大的数据不是第一个的话上面的代码你会觉得是正确的如果第一个数据是最大的排序就不对了到底是为什么呢我们可以调试调试 修改代码为 void SelectSort(int* a, int n) {int begin 0;int end n - 1;while (begin end){int maxi begin;int mini begin;for (int i begin 1; i end; i){if (a[i] a[maxi]){maxi i;}if (a[i] a[mini]){mini i;}}swap(a[begin], a[mini]);if (maxi begin){maxi mini;}swap(a[end], a[maxi]);begin;end--;}}直接选择排序的特性总结 时间复杂度O(N^2) 空间复杂度O(1) 4.堆排序 堆排序是指利用堆积树堆这种数据结构所设计的一种排序算法它是选择排序的一种。它是通过堆来进行选择数据。需要注意的是排升序要建大堆排降序建小堆。 void AdjustDwon(int* a, int n, int root)//向下调整建立大堆。 {int child root * 2 1;while (child n){if (child1n a[child] a[child 1]){child child 1;}if (a[child] a[root]){swap(a[child], a[root]);root child;child root * 2 1;}else{break;}}}上图为建立的大堆。 堆排序演示 5.冒泡排序 思路 左边大于右边交换一趟排下来最大的在右边 代码实现 void BubbleSort(int* a, int n) {for (int i 0; i n-1; i){for (int j 0; j n - i-1; j){if (a[j 1] a[j]){swap(a[j], a[j 1]);}}}}时间复杂度O(N^2) 空间复杂度O(1)
http://wiki.neutronadmin.com/news/96132/

相关文章:

  • 济南网站seo报价外贸soho网站
  • 网站建设策划书主要内容网页制作实训心得
  • 无线路由器做中继手机能连接但无法访问网站wordpress软件最低要求
  • 医院建设网站中国建设教育协会的网站查询
  • 科技成果转化网站建设无远低代码开发平台
  • 火车头wordpress数据库网站优化文章怎么做
  • 太原制作公司网站老网站权重低的原因
  • 嘉定网站网站建设关键词排名优化顾问
  • 中国建设银行建银购网站网站建设专家北京注安
  • 网站建设软文模板汇天网络科技有限公司
  • 双公示 网站专栏建设企业网站备案怎么搞
  • 专业做网站关键词排名下掉网站建设的空间指的是
  • 如何将一台电脑做网站空间为什么做的网站打开自动缩放
  • php电商网站开发流程图针对人群不同 网站做细分
  • 网站建设汽车后市场分析网站分享链接怎么做的
  • 网站的后期维护工作一般做什么网站系统模板
  • 网上做结婚照的网站wordpress官网登录
  • 怎么让百度收录网站有九类商标可以做网站名吗
  • 东莞专业网站建设公司销量最高的wordpress模版
  • 网站制作服务合同网页版qq登录入口电脑版
  • 网站怎么做脚注域名com和cn的区别
  • 做网站的具体内容高端专区
  • 谷歌seo快速排名优化方法关键词优化排名详细步骤
  • 百度收录什么网站吗企业vi设计主要包括哪些内容
  • 完成网站集约化建设腾讯云服务器用户名
  • 我想自己卖特产怎么做网站企业网站未来发展趋势
  • 建设信用卡申请官方网站网站制作方案的重要性
  • 做网站服务好网站建设属于技术开发合同吗
  • wordpress 古今肇庆seo排名
  • 如何创办自己的网站sync wordpress