| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:[求助]指针的选择法,有点不懂
只看楼主 加入收藏
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
结帖率:86.67%
收藏
 问题点数:0 回复次数:4 
[求助]指针的选择法,有点不懂

#include<iostream>
using namespace std;
int main()
{
void select_sort(int *p,int n);
int a[10],i;
cout<<"Enter the originl array:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;
select_sort(a,10);
cout<<"The sorted array:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<' ';
cout<<endl;
return 0;
}
void selct_sort(int *p,int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(p+j)<*(p+k))
k=j;//只有这里看不懂,请大家帮下我
t=*(p+k);
*(p+k)=*(p+i);
*(p+i)=t;
}
}

搜索更多相关主题的帖子: int 指针 sort void 
2007-07-23 13:17
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
[CODE] const int size = 5;
int a[size] = {2,56,25,4,8};
//sort
int small;
for (int i = 0;i < size-1;++i){
small = i;
for (int j = i+1;j < size;++j){
if (a[j] < a[small])
small = j;
}
//swap
int temp = a[i];
a[i] = a[small];
a[small] = temp;
}[/CODE]
这是用下标索引的选择排序,红色部分就相当与k = j,目的是保持k为当前最小值的索引。

[此贴子已经被作者于2007-7-23 13:28:38编辑过]


Fight  to win  or  die...
2007-07-23 13:27
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
不能直接用 i或j吗?

2007-07-23 13:44
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

i和j是控制两个loop的变量,你的意思是?

其实这就是个选择排序,只是你的型参是指针,我那个用数组,其他的都一样。


Fight  to win  or  die...
2007-07-23 14:50
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
仔细看了下,明白了。谢谢啦

2007-07-23 15:19
快速回复:[求助]指针的选择法,有点不懂
数据加载中...
 
   



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

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