排序算法,快速排序、快排,归并排序,冒泡排序,插入排序,计数排序,选择排序,n方排序、nlogn排序,稳定排序

作者: 青程教育分类: 计算机技术 发布时间: 2022-08-16 15:57:23 浏览:47627 次

排序算法,快速排序、快排,归并排序,冒泡排序,插入排序,计数排序,选择排序,n方排序、nlogn排序,稳定排序

乖乖的小黄鸡:
冒泡排序 排了n-1个 剩下一个就不用排序了 和选择排序类似 有一个擂台 不管是大擂台还是小擂台 插入排序就是扑克牌 快速排序就是服装店员排衣服 先选最中间 一眼看这个长度裙子应该放在哪里 一遍遍下去做的事情就是递归 np就是游戏里面选背包[doge] 我的意思 有趣的游戏和生活中有趣的事情总是暗藏玄机

梦响-雨花凉:
假设有 5 个元素 { 5, 3, 4, 1, 2 } ,第一次 5 和 1 交换位置 { 1, 3, 4, 5, 2 },第二次 3 和 2 交换位置 { 1, 2, 4, 5, 3 },第三次 4 和 3 交换位置 { 1, 2, 3, 5, 4 } ,第四次 5 和 4 交换位置 { 1, 2, 3, 4, 5 }。第一次循环控制交换次数,第二层循环控制比较大小的次数。

isromance666:
老师,多讲讲数据结构与算法的专题,现在市面上太缺了,比如string,链表,队列那些

【回复】好的。我后期会推出这个。课件是有的,只是还没有视频发布
别再忽悠了:
讲解的非常好,尤其是图形演示一看就懂,给老师点赞,比很多机构的老师讲解好很多没有废话

佑晋灵:
是怎么向更高一层归并的,有点不太懂[大哭]

【回复】先穿从最高层向下分,之后在最低层向上归
云-小雨:
#include<iostream>和using namespace std,不是cpp的头文件和标准名称空间嘛,为什么后面的printf(c语言)使用不受影响?

【回复】回复 @青程教育 :我的意思是iostream中也包含printf嘛
【回复】如果是c语言,引用头文件stdio也是可以用printf的
【回复】回复 @云-小雨 :当然去包含,cpp是对c全包含的。任何纯c头文件也可以通过x.h->cx的转写方法被cpp引用。cpp的很多头文件包含了c的头文件的部分功能
账号已注销:
归并排序有错,将b数组赋值给a数组的代码可以修改如下 for (int i = left, j = 0; i <= right; i++, j++) { a【i】 = b【j】; cout << i << " "; }

【回复】这样不行的,排序时b数组不是这样存的
婉生如:
为什么我按着老师的代码敲出来全是0[灵魂出窍]

【回复】回复 @婉生如 :#include <iostream> using namespace std; int a【8】={36,25,48,12,25,43,20,28}; int b【8】; void msort(int l,int r){ if(l == r) return; int mid = (l+r)>>1; msort(l,mid); msort(mid+1,r); int i=l,j=mid+1,k=l; while(i<=mid && j<=r){ if(a【i】<=a【j】){ b【k】=a【i】; i++; }else{ b【k】=a【j】; j++; } k++; } while(i<=mid) b【k++】=a【i++】; while(j<=r) b【k++】=a【j++】; for(i=l;i<=r;i++) a【i】=b【i】; } int main() { int n=8; msort(0,n-1); for(int i=0;i<n;i++){ printf("%d ",a【i】); } return 0; }
【回复】回复 @青程教育 :归并排序
蓦然丨回首丶:
快排的一览图中应该分为(0,4)和 (6,7),后续你制作的动图倒是没问题

【回复】快排其实有两种排法: 1、取中间元素作为基准元素 2、取最左侧元素作基准元素
自先成稳i:
快速排序递归结束的条件判断那里看不懂,为什么左端点大于右端点的时候就直接return; ?中断函数以后呢?不继续排序了嘛?

【回复】因为二分的时候,左端点跑到右边去,就代表无需再分了
今天也只喜欢猪猪:
只有我觉得排序好难嘛。脑子想不过来[辣眼睛]

【回复】看动画的演示会形象很多
向日蔷薇:
老师,我有个问题,医院轮转的安排,是不是也是用到算法这个知识点

【回复】你可以详细描述一下轮转的事件内容
凌风飞飞:
这个网站在哪里,想去里面写写自己理解的快速排序

视频教程 原创 c++ 编程开发

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!