| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2096 人关注过本帖
标题:选择法对数进行排序的原理?
只看楼主 加入收藏
radio
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-2-2
收藏
 问题点数:0 回复次数:4 
选择法对数进行排序的原理?

这是用选择法对数进行排序,是一种常用的方法,可我不懂原理,请谁帮我仔细的解释这段程序?
sort(int x[ ],int n)
{
int i, j, k, t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j=n;j++)
if(x[j]>x[k]) k=j;     //从这我就看不懂了???
if(k! =i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
    我猜大概意思是:按顺序对两个数,两两比较,然后....我就看不懂了??
    请哪位仔细说说??谢谢!

搜索更多相关主题的帖子: 对数 原理 选择 
2006-03-17 16:57
梦想中国
Rank: 2
等 级:新手上路
威 望:5
帖 子:539
专家分:0
注 册:2006-2-26
收藏
得分:0 

就是每一次将最小者左移,你那5个试试,第1次将最小者移动到第0元素上,其他类似


2006-03-17 17:06
radio
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-2-2
收藏
得分:0 
以下是引用梦想中国在2006-3-17 17:06:00的发言:

就是每一次将最小者左移,你那5个试试,第1次将最小者移动到第0元素上,其他类似

谢谢!我再说一下,你看看对不:把两个数相比较,如果后一个数比前一个数大,则k=j:使的k肯定不等于i,然后就交换这两数?


2006-03-17 17:17
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 
选择法的原理是先将第一个数与后面的每一个数依次比较,不断将将小的赋给第一个数,从而找出最小的,然后第二个数与后面的每一个数依次比较,从而找出第二小的,然后第三个数与后面的每一个数依次比较,从而找出第三小的.....直到找到最后一个数

2006-03-17 17:36
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
我知道这句"if(k!=i)..."你不明白``这句是说:如果k不等于i,也就是当x[i]不是最小而是x[k]最小,就交换这两个值.

我的原则很简单:不做不喜欢的事!
2006-03-18 00:07
快速回复:选择法对数进行排序的原理?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014100 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved