社区
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;
}
}
}
我以前毫不犹豫的告诉学生,这叫冒泡排序,现在才知道根本不是,请问,那这叫什么排序啊?
好惭愧啊!
...全文
302
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写文章
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白话经典
算法
之七大
排序
(高清版)
冒泡
排序
是一种简单直观的
排序
算法
,它的基本思想是从第一个元素开始,比较相邻元素的大小,如果前一个元素大于后一个元素则交换它们的位置,这样一轮比较下来,最大的元素会像气泡一样“浮”到最后的位置。...
各种
排序
算法
大全c++版
各种
排序
算法
大全c++版 冒泡,选择,快排,希尔
排序
,堆
排序
,归并
排序
。
JAVA近百种
算法
大全
一、
排序
算法
1. 冒泡
排序
:通过不断交换相邻的错误顺序元素,逐步将数组或列表调整为有序状态。 2. 插入
排序
:将待
排序
元素逐个插入到已
排序
部分,保持已
排序
部分始终有序。 3. 选择
排序
:每次选择未
排序
部分的最小...
c语言常用
算法
集
2. **
排序
算法
**:CH02和CH04可能涵盖了一些基本和高效的
排序
算法
,例如冒泡
排序
、选择
排序
、插入
排序
、快速
排序
、归并
排序
、堆
排序
等。
排序
算法
的学习有助于理解如何优化时间复杂度和空间复杂度。 3. **搜索
算法
**...
C++ 语言
65,207
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章