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

建设一个网站要学什么免费微网站开发

建设一个网站要学什么,免费微网站开发,办公空间设计平面图,东莞广告公司招聘信息交换排序就是通过比较交换实现排序。分冒泡排序和快速排序两种。 一、冒泡排序#xff1a; 1、简述 顾名思义就是大的就冒头#xff0c;换位置。 通过多次重复比较、交换相邻记录而实现排序#xff1b;每一趟的效果都是将当前键值最大的记录换到最后。 冒泡排序算法的原…交换排序就是通过比较交换实现排序。分冒泡排序和快速排序两种。 一、冒泡排序 1、简述 顾名思义就是大的就冒头换位置。 通过多次重复比较、交换相邻记录而实现排序每一趟的效果都是将当前键值最大的记录换到最后。 冒泡排序算法的原理如下  比较相邻的元素。如果第一个比第二个大就交换他们两个。 对每一对相邻元素做同样的工作从开始第一对到结尾的最后一对。在这一点最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤除了最后一个。 持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较 2、复杂度 时间复杂度O(n²) 空间复杂度O(1) 3、稳定性稳定排序 4、例子 ​ #include iostream using namespace std; // 冒泡 int main() {int arr[8] {45, 38, 66, 90, 88, 10, 25, 45};int arrCount sizeof(arr) / sizeof(arr[0]);for (int i 0; i arrCount - 1; i) {for (int j 0; j arrCount - i - 1; j) {if (arr[j] arr[j1]) { // 对比两个值int tmp arr[j];// 交换位置arr[j] arr[j1];arr[j1] tmp;}}couti1次排序后;for (int i 0;i arrCount;i) {cout arr[i] ;}coutendl;}cout最后结果;for (int i 0;i arrCount;i) {cout arr[i] ;}return 0; } 输出结果 1次排序后38 45 66 88 10 25 45 90 2次排序后38 45 66 10 25 45 88 90 3次排序后38 45 10 25 45 66 88 90 4次排序后38 10 25 45 45 66 88 90 5次排序后10 25 38 45 45 66 88 90 6次排序后10 25 38 45 45 66 88 90 7次排序后10 25 38 45 45 66 88 90 最后结果10 25 38 45 45 66 88 90 二、快速排序 关键词基准值递归算法 1、简述 快速排序Quicksort计算机科学词汇适用领域PascalC等语言是对冒泡排序算法的一种改进。 快速排序算法流程如下  首先设定一个基准值通过该基准值将数组分成左右两部分。 将大于或等于基准值的数据集中到数组右边小于基准值的数据集中到数组的左边。此时左边部分中各元素都小于基准值而右边部分中各元素都大于或等于基准值 。然后左边和右边的数据可以独立排序。对于左侧的数组数据又可以取一个基准值将该部分数据分成左右两部分同样在左边放置较小值右边放置较大值。右侧的数组数据也可以做类似处理。 重复上述过程可以看出这是一个递归定义。通过递归将左侧部分排好序后再递归排好右侧部分的顺序。当左、右两个部分各数据排序完成后整个数组的排序也就完成了。 2、复杂度 时间复杂度O() 、最差O(n²) 注快速排序在表基本有序时最不利于其发挥效率即蜕化为冒泡排序,其时间复杂度为O(n²) 空间复杂度O() 3、稳定性不稳定排序 在交换的过程中相同的数值可能会被换到前面去所以是不稳定的。 4、例子 在经历第一趟之后我们将基准值左边和右边分别进行同样的操作。 left和right从原先的0和7更新为对应的数值 第一趟排序之后 [25 38 10] 45 [88 90 66 45] 分别对子序列排序 左边子序列排序 [25 38 10] left 0, right 2, flag 25 [10] 25 [38] 再对25左右两侧进行同样的排序方式得出左边子序列排序后的结果 10 25 38 右边子序列排序 [88 90 66 45] left 4, right 7, flag 88 [45 66] 88 [90] 再对88左右两侧进行同样的排序方式最后得到右边子序列排序后的顺序 45 66 88 90 合并起来就是 [10 25 38 45 45 66 88 90] 由于交换规则一致我们可以用递归来处理。 #include iostream using namespace std; /// 交换位置 void swapPosition(int arr[], int x, int y) {arr[x] arr[y]arr[x];arr[y] arr[x] - arr[y];arr[x] arr[x] - arr[y]; }void quickSort(int list[], int begin, int end) {// 将基准值flag定为列表第一个。int left begin, right end, flag list[begin];cout这趟排序的起始位置begin,结束位置end基准值flagendl;// 左右指针未碰头则反复做while (left right) {// 从右边开始// 右边没找到小于 flag 的右指针 继续往左移while (list[right] flag leftright) {--right;}// 右边找到比flag小的数据则将其送到左边并且将左边的指针往右移动if(left right) {// 交换位置swapPosition(list, left, right);left;}// 接着开始左边的循环// 左边没找到大于 flag 的左指针 继续往右移while (list[left] flag leftright) {left;}// 左边找到比flag大的数据则将其送到右边并且将右边的指针往左移动if(left right) {// 交换位置swapPosition(list, left, right);--right;}}cout结果;for (int i 0;i 8;i) {cout list[i] ;}coutendl;if (beginleft-1){cout开始左边的递归:endl;quickSort(list, begin, left-1);}if(right1 end){cout开始右边的递归:endl;quickSort(list, right1, end);} } int main() {int arr[8] {45, 38, 66, 90, 88, 10, 25, 45};int arrCount sizeof(arr) / sizeof(arr[0]);quickSort(arr, 0, arrCount - 1);cout最后结果;for (int i 0;i arrCount;i) {cout arr[i] ;}return 0; }输出结果 这趟排序的起始位置0,结束位置7基准值45 结果25 38 10 45 88 90 66 45 开始左边的递归: 这趟排序的起始位置0,结束位置2基准值25 结果10 25 38 45 88 90 66 45 开始右边的递归: 这趟排序的起始位置4,结束位置7基准值88 结果10 25 38 45 45 66 88 90 开始左边的递归: 这趟排序的起始位置4,结束位置5基准值45 结果10 25 38 45 45 66 88 90 最后结果10 25 38 45 45 66 88 90 参考 百度百科——冒泡排序https://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F?fromModulelemma_search-box 百度百科——快速排序https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/369842?frge_ala 生命不息学习不止若有不正确的地方欢迎指正。
http://www.tj-hxxt.cn/news/139663.html

相关文章:

  • 帝国网站模板建设完成显示不正常一般网站建设电话
  • 网站功能介绍淘宝店铺可以做网站优化么
  • 中国电力建设股份有限公司网站中山优秀网站建设
  • jsp网站设计外网npv加速器
  • 长沙公司制作网站费用多少app与移动网站开发考试资料
  • 织梦制作手机网站模板广东官网网站建设平台
  • 英文网站导航 源码诚企信年报
  • 360网站怎么建设网站建设价格对比分析
  • 嘉兴专业网站建设网站在线制作平台
  • 具体c2c网站建设实例郑州网站开发培训班
  • 榆林网站建设推广手机网站建设信息
  • 怎样用西瓜影音做网站湛江cms建站系统
  • 网站建设课程毕设网站备案信息被工信部删除
  • 做网站有2个前提条件_一个是网站wordpress付费主题博客
  • 网站关键字怎么分割新闻发布会
  • 服装网站建设物流配送系统清明节ppt模板免费下载
  • 企业 宣传 还要网站吗wordpress发布的文章无法显示内容
  • php毕业设计二手网站怎么做口碑最好的购物网站平台
  • 网站建设评分细则东昌网站建设
  • 网站开发 python 工具江苏城乡住房建设部网站
  • 海洋馆网站建设辽宁省城乡建设厅官方网站
  • 高端建站是什么意思org域名做商业网站
  • 官方在家做兼职的网站赣县企业网站建设
  • 优化网站制作方法大全flash型网站网址
  • 华为企业建设网站的目的免费的logo设计
  • 红杭州网站建设asp网站后台密码文件
  • 中国建设网站上报名塔吊司索工王烨诡异复苏的漫画叫什么
  • 门户网站html内江市住房和城乡建设局网站电话号码
  • cocos2d-js可以做网站吗两学一做纪实评价系统网站
  • wordpress 网页编辑淘宝怎么优化关键词排名