社区
C++ 语言
帖子详情
这个排序叫什么算法?
xjyr
2006-02-22 12:54:22
void sort(int *a, int n)
{
int i,j;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
if( a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
我以前毫不犹豫的告诉学生,这叫冒泡排序,现在才知道根本不是,请问,那这叫什么排序啊?
好惭愧啊!
...全文
285
16
打赏
收藏
这个排序叫什么算法?
void sort(int *a, int n) { int i,j; for(i=0; i<n-1; i++) { for(j=i+1; j<n; j++) if( a[i] < a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } } } 我以前毫不犹豫的告诉学生,这叫冒泡排序,现在才知道根本不是,请问,那这叫什么排序啊? 好惭愧啊!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenzhichao2008
2006-02-23
打赏
举报
回复
不伦不类的选择排序
mailpq
2006-02-23
打赏
举报
回复
如果完全按照书上的定义来说,这个也非选择排序!
(选择排序是每趟选出最大的分别与第一,第二个位置……交换,其他位置不动)
因此选者排序的算法应该是:
void sort(int *a,int n)
{
int i,j,k;
int temp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]<a[j])k=j;//k用来记录每趟的最大值下标;
if(i!=k)
{
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
}
}
照这么说,你那个应该是个效率不很高的选择排序,
一人之见,望大家指教,呵呵
seabright2002
2006-02-23
打赏
举报
回复
应该是选择排序
lisypro
2006-02-23
打赏
举报
回复
直接插入排序
lonelyforest
2006-02-23
打赏
举报
回复
还是看看 谭老师的<<c程序设计》或许帮助比较大;
悲しむ予感
2006-02-23
打赏
举报
回复
果然是奇怪的排序方法.不过效率应该比选择低.
还是想想给个恰当的名字吧....选择冒泡法.
province_
2006-02-23
打赏
举报
回复
是选择排序,排好后大头在前。
sankt
2006-02-23
打赏
举报
回复
每次从无序表中取出一个元素,插入到有序表的适当位置,称作插入排序.
每次从无序表中选出一个最大或最小元素,把它交换到有序表的一端,称作选择排序.
//====
所以楼主这个排序不是正宗的选择排序
cad_vc
2006-02-23
打赏
举报
回复
不是冒泡,也不是选择。
恭喜你,你找到一个新的排序方法。
missedyou_1984
2006-02-23
打赏
举报
回复
太明显了
是冒泡排序
排序分好几种 其中快速排序法最好了
cavinzhang
2006-02-23
打赏
举报
回复
算是选择排序吧
bm1408
2006-02-22
打赏
举报
回复
select sort
SammyLan
2006-02-22
打赏
举报
回复
直接插入排序
AmyLin_2001
2006-02-22
打赏
举报
回复
void sort(int *a, int n)
{
int i,j;
int flag;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
if( a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
选择排序,每次把最大的放第一个
xiaocai0001
2006-02-22
打赏
举报
回复
选择排序!
冒泡排序如下:
void sort(int *a, int n)
{
int i,j;
for(i=0; i<n-1; i++)
{
for(j=i+1; j<n; j++)
if( a[j-1] < a[j])
{
t = a[j-1];
a[j-1] = a[j];
a[j] = t;
}
}
}
冒泡排序是相邻比较,选择排序是与每一趟与指定的位置比较。
liqiuhua123
2006-02-22
打赏
举报
回复
选择排序,每回都选一个最小的,第二小的,....最大的
MoreWindows白话经典
算法
之七大
排序
第2版(高清)
在第一版的基础上新加了对冒泡
排序
,直接插入
排序
,直接选择
排序
,希尔
排序
,归并
排序
,快速
排序
和堆
排序
这七种常用的
排序
方法的总结篇,方便大家复习,合适作为笔试面试前的复习资料。
MoreWindows白话经典
算法
之七大
排序
(高清版)
这是本人在研一上课时所整理的文档,包括冒泡
排序
,直接插入
排序
,直接选择
排序
,希尔
排序
,归并
排序
,快速
排序
和堆
排序
这七种常用的
排序
方法,这些文章不仅使我在考试中取了不错的成绩,也为后来顺利面过迅雷,腾讯,微软打下了良好的基础,现在整理成电子书形式,希望能对大家有所帮助。
JAVA经典
算法
90题【含源码】
Java最经典的
算法
题,初学者必懂。好好学,好好练,这就是学习的最终的秘诀
完整视频-coursera公开课 普林斯顿
算法
ⅠⅡ部分
本资源为BT文件,下载速度快,如果P2P工具支持下载字幕可以进行下载 Coursera上的公开课,普林斯顿大学教授Robert Sedgewick主讲《Algorithms》
算法
Java实现 课程网站http://algs4.cs.princeton.edu/home/ 视频一个两部分,
算法
(一)主要集中在基础的数据结构、
排序
、查找
算法
。 相关主题有:并查集
算法
,二分查找,栈,队列,背包,插入
排序
,选择
排序
,希尔
排序
,快速
排序
, 三切分快排,归并
排序
,堆
排序
,二分堆,二分查找树,红黑树,链表,线性哈希表,Graham扫描,kd树。
算法
(二)主要讲解图论和字符串处理的相关
算法
。相关主题有:深度优先搜索,宽度优先搜索,拓扑
排序
,Kosaraju-Sharir
算法
,Kruskal
算法
,Prim
算法
,Dijkistra
算法
,Bellman-Ford
算法
, Ford-Fulkerson
算法
, LSD radix sort
算法
, MSD radix sort
算法
, 3-way radix 快排
算法
, 多路尝试法, 三元查找尝试法, Knuth-Morris-Pratt
算法
, Boyer-Moore
算法
, Rabin-Karp
算法
, 正则匹配, run-length编码, Huffman编码, LZW压缩, 还有Burrows-Wheeler变换。
java数百种
算法
实现
java数百种
算法
实现
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章