📄 subject_61571.htm
字号:
<p>
序号:61571 发表者:dprk 发表日期:2003-11-20 13:35:15
<br>主题:选择排序,有时结果错!在Dev C++下可运行,但在VC6下,有一段代码执行不了,请高手指教!!
<br>内容:#include<iostream.h><BR><BR>void swap(int &a, int &b)<BR>{int temp;<BR> temp=a;<BR> a=b;<BR> b=temp;<BR>}<BR><BR><BR>int min(int a[],int low,int high)<BR>{int i,j,k;<BR> i=a[low];<BR> for(j=low;j<high;j++)<BR> {<BR> if (a[j]<i){k=j;i=a[j];} <BR> }<BR> return k;<BR>}<BR><BR>void select1(int a[],int len)<BR>{int i,j,cache;<BR> int temp,temp1;<BR> int *p,*q;<BR> for(i=0;i<len;i++)<BR> {<BR> j=min(a,i,len);<BR> if (j!=i)<BR> {<BR> swap(a[i],a[j]);///代码执行不了<BR> }<BR> }<BR><BR>}<BR><BR><BR>void main()<BR>{int a[20];<BR> int i,j;<BR> cout<<"confirm the number of the elements :";<BR> cin>>i;<BR> for ( j=0;j<i;j++)<BR> {<BR> cin>>a[j];<BR> }<BR> select1(a,i); //i元素数目 <BR> for ( j=0;j<i;j++)<BR> {<BR> cout<<a[j]<<" ";<BR> <BR> }cout<<"\n";<BR> cin>>i;<BR> <BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:dprk 回复日期:2003-11-20 13:50:28
<br>内容:有时排序结果有错!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-11-20 14:12:02
<br>内容:传递的应该是地址啊,swap(a[i],a[j]);///代码执行不了<BR>改为:<BR>swap(&a[i]&,a[j]);///代码执行不了<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dprk 回复日期:2003-11-20 14:18:00
<br>内容:不行呀,再看看!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-11-20 14:29:10
<br>内容:不好意思看错了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:dprk 回复日期:2003-11-20 14:31:57
<br>内容:帮忙啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:学vc 回复日期:2003-11-20 15:28:52
<br>内容:函数min出了问题:<BR>int min(int a[],int low,int high)<BR>{<BR>.....<BR> i=a[low];<BR>k = low; //k应该初始化<BR> ...<BR>}<BR>如果不初始化,当a[low]是最小的时,程序返回的k就是最初的k,<BR>而k没有初始化。。。<BR>另外,函数<BR>void select1(int a[],int len)<BR>{<BR> for(i=0;i<len;i++)//此处不错,但改为i<len-1效率更高<BR> {<BR> j=min(a,i,len);<BR> ..... <BR> }<BR><BR>}<BR><BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -