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

网站主机和空间淘宝客建站模板

网站主机和空间,淘宝客建站模板,云南建设招标网站首页,vi设计步骤流程前言 本篇博客我们正式开启数据结构中的排序#xff0c;说到排序#xff0c;我们能联想到我之前在C语言博客中的冒泡排序#xff0c;它是排序中的一种#xff0c;但实现效率太慢#xff0c;这篇博客我们介绍两种新排序#xff0c;并好好深入理解排序 #x1f493; 个人主… 前言 本篇博客我们正式开启数据结构中的排序说到排序我们能联想到我之前在C语言博客中的冒泡排序它是排序中的一种但实现效率太慢这篇博客我们介绍两种新排序并好好深入理解排序 个人主页小张同学zkf ⏩ 文章专栏数据结构       若有问题 评论区见 欢迎大家点赞收藏⭐文章 ​ 目录 1.排序 1.1排序的概念 1.2排序的常见算法 2.插入排序 3.选择排序 1.排序 1.1排序的概念 排序 所谓排序就是使一串记录按照其中的某个或某些关键字的大小递增或递减的排列起来的操作。 稳定性 假定在待排序的记录序列中存在多个具有相同的关键字的记录若经过排序这些记录的相对次序保持不变即在原序列中r[i]r[j] 且 r[i] 在 r[j] 之前而在排序后的序列中 r[i] 仍在 r[j] 之前则称这种排序算法是稳定的否则称为不稳定的。 内部排序 数据元素全部放在内存中的排序。 外部排序 数据元素太多不能同时放在内存中根据排序过程的要求不断地在内外存之间移动数据的排序。 1.2排序的常见算法 2.插入排序 即冒泡排序外我们来认识一下一个新的排序 直接插入排序是一种简单的插入排序法其基本思想是 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中直到所有的记录插入完为 止得到一个新的有序序列 。 实际中我们玩扑克牌时就用了插入排序的思想 我们来看一下动图 如何用代码实现出来这个插入排序那 我们观察动图其实可以看到假如一趟0~end数是有序的那么end1的数得挨个与0~end数比较比较若比end1的数大向右移一位继续与下一位比较若比end1的数小就插在这个数的前面进行下一趟重复此过程 代码如下 #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h void charupaixu(int* a, int x) {for (int i 0; i x - 1; i){int end i;int tmp a[end 1];while (end 0){if (a[end] tmp){a[end1] a[end];end--;}else{break;}}a[end 1] tmp;} } int main() {int arr[] { 2,4,89,23,987,123,5678,13,76,67,6666};charupaixu(arr, sizeof(arr) / sizeof(arr[0]));for (int i 0; i sizeof(arr) / sizeof(arr[0]); i){printf(%d , arr[i]);}return 0; } 这个排序的时间复杂度ON为N^2但相比冒泡效率还是快的 3.选择排序 选择排序其实思路特别简单通过最前面与最后面的指针进行遍历找到最大的与最小的将最小的与开头的数交换最大的与最后面的数交换再两边指针减减重复此过程 #define _CRT_SECURE_NO_WARNINGS 1 #include stdio.h void swap(int* as, int* aq) {int tmp *as;*as *aq;*aq tmp; } void xuanzepaixu(int* a, int n) {int begin 0;int end n-1;while (begin end){int max begin;int min begin;for (int i begin1; i end; i){if (a[min] a[i]){min i;}if (a[max] a[i]){max i;}}swap(a[min], a[begin]);if (begin max){max min;}swap(a[max], a[end]);begin;end--;} } int main() {int arr[] { 34,56,56,87,7644,79,382,4657,272687,246581,6341,346345,5,267,7,22,2724,57 };xuanzepaixu(arr, sizeof(arr) / sizeof(arr[0]));for (int i 0; i sizeof(arr) / sizeof(0); i){printf(%d , arr[i]);}return 0; } 但要注意将最小数与开头数交换此刻有可能最大数就是开头数如果是这种情况我们要刷新一遍最大值然后再将最大值与结尾互换。 选择排序的时间复杂度也是ON^2但是比效率比冒泡还要低综上三个排序插入排序目前最优 结束语  这篇博客先介绍三个排序与之前的冒泡排序已经有四个但这些还都是太慢其中之一的插入排序一定要好好掌握下片博客的希尔排序要用到插入排序的思维 OK本篇博客结束
http://www.zqtcl.cn/news/654460/

相关文章:

  • 网站界面设计策划书怎么做云匠网订单多吗
  • html教程 pdf网站建设优化兰州
  • 招聘网站可以同时做两份简历吗外贸网站示例
  • 黑链 对网站的影响企业融资计划书范本
  • 自己的简历怎么制作网站学院网站建设成效
  • 周口seo 网站郑州建站网站的公司
  • 网站布局模板北京装修大概多少钱一平方
  • 德阳网站建设ghxhwl风景网站模板
  • 昌邑网站建设拓者设计吧现代效果图
  • 学校网站建设成功案例网站开发需要学习哪些内容
  • 怎么让公司建设网站seo于刷网站点击
  • 网站建设合同严瑾建设网站宣传
  • 哪个网站做餐饮推广最好深圳市信任网站
  • 网站模板 整站源码广州网站vi设计报价
  • 百度速页建站wordpress审核插件
  • 怎么给网站wordpress专业的vi设计公司
  • 百度关键词在线优化寻找郑州网站优化公司
  • 网站建设适合什么单位网络推广员工作内容
  • 漂亮的网站维护页面wordpress加个微信登录
  • 网站设计是什么意思创建地址怎么弄
  • nas上建设网站文章网站哪里建设好
  • 消防网站模板广告设计专业需要学什么
  • 建设银行网站首页wordpress 登录函数
  • 做网站多长时间广州营销网站制作
  • 美团外卖网站开发建设网站如何写文案
  • 专门做画册封面的网站开发工程师网站开发工程师招聘
  • 广州市建设局网站自己做电影网站违法
  • 网站建设首选公司大丰专业做网站
  • 用dw怎么做网站辽宁省住房和城乡建设厅网站首页
  • 如何用微信小程序做网站2个网站做的链接怎么用一个域名