⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_58904.htm

📁 vc
💻 HTM
字号:
<p>
序号:58904 发表者:jannie 发表日期:2003-11-04 19:44:23
<br>主题:很小的快速排序程序,结果不对,错在哪了?请指教!
<br>内容:#include &lt;stdio.h&gt;<BR>#include &lt;iostream.h&gt;<BR><BR>//交换数组中的两个数<BR>void swap(int v[],int i,int j)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int temp;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;temp=v[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;v[i]=v[j];<BR>&nbsp;&nbsp;&nbsp;&nbsp;v[j]=temp;<BR>}<BR><BR>//快速排序<BR>void quicksort(int v[],int n)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i,last;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(n&lt;=1) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ;//递归结束条件<BR>//&nbsp;&nbsp;&nbsp;&nbsp;swap(v,0,rand()%n);<BR>&nbsp;&nbsp;&nbsp;&nbsp;swap(v,0,5);//任选一数置于首,作为“基准”数<BR>&nbsp;&nbsp;&nbsp;&nbsp;last=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(i=1;i&lt;n;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(v[i]&lt;v[0])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;swap(v,++last,i); //每次发现有比它小的数,就依次放到它后面,last指向最后的一个比它小的数<BR>&nbsp;&nbsp;&nbsp;&nbsp;swap(v,0,last);//将它置换到中间位置,这时它前面的数都比它小,后面的大<BR>&nbsp;&nbsp;&nbsp;&nbsp;quicksort(v,last);<BR>&nbsp;&nbsp;&nbsp;&nbsp;quicksort(v+last+1,n-last-1);//对前后两部分递归进行<BR>}<BR><BR><BR>int main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;int a[10];<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;the input numbers are:&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;10;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cin&gt;&gt;a[i];<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;endl;//输入一组数<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;quicksort(a,10);//排序输出<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;&#34;the sorted numbers are:&#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int k=0;k&lt;10;k++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;a[k]&lt;&lt;&#34; &#34;;<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;endl;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR>输入:10 9 8 7 6 5 4 3 2 1 <BR>输出:1 3 9 10 5 2 4 8 4213705 1245120<BR>几乎照抄的一个例子,不明白错在哪里 请指教!<BR>2003-11-4 20:07:59

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -