亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1619 | 回復(fù): 4
打印 上一主題 下一主題

自己實(shí)現(xiàn)的qsort 出現(xiàn)段錯(cuò)誤,請(qǐng)大家?guī)兔纯础?/a> [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-03-12 10:15 |只看該作者 |倒序?yàn)g覽

  1. #include <cstdio>

  2. void swap(int & a, int &b)
  3. {
  4.         int t = a;
  5.         a = b;
  6.         b = t;
  7. }

  8. void quicksort(int data[], int first, int last)
  9. {
  10.         int lower = first+1;
  11.         int upper = last;
  12.         swap(data[first], data[(first+last)/2]);
  13.         int bound = data[first];
  14.         while(lower <= upper)
  15.         {
  16.                 while(data[lower]<bound)
  17.                         lower--;
  18.                 while(bound < data[upper])
  19.                         upper++;
  20.                 if (lower < upper)
  21.                         swap(data[lower++], data[upper--]);
  22.                 else
  23.                         lower++;
  24.         }
  25.         swap(data[upper], data[first]);
  26.         if (first < upper-1)
  27.                 quicksort(data, first, upper-1);
  28.         if (upper+1 < last)
  29.                 quicksort(data, upper+1, last);
  30. }

  31. void quicksort(int data[],int n)
  32. {
  33.         if (n < 2)
  34.                 return;
  35.         int max_ =0 ;               
  36.         for (int i=0; i<n; i++)
  37.         {
  38.                 if (data[max_]<data[i])
  39.                         max_ = i;
  40.         }
  41.         swap(data[n-1], data[max_]);
  42.         quicksort(data, 0, n-2);
  43. }

  44. int main(int argc, char*argv[])
  45. {
  46.         int a[]={4, 6, 1, 7, 3, 0, 5};
  47.        
  48.         quicksort(a, 7);
  49.         return 0;
  50. }

復(fù)制代碼

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
2 [報(bào)告]
發(fā)表于 2007-03-12 10:30 |只看該作者
while(bound < data[upper])
       upper++;

這句會(huì)導(dǎo)致數(shù)組越界吧?
我不知道這個(gè)算法是不是你獨(dú)創(chuàng)的,
我很難看懂。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2007-03-12 10:37 |只看該作者
原帖由 lenovo 于 2007-3-12 10:30 發(fā)表
while(bound < data[upper])
       upper++;

這句會(huì)導(dǎo)致數(shù)組越界吧?
我不知道這個(gè)算法是不是你獨(dú)創(chuàng)的,
我很難看懂。


這是我根據(jù)數(shù)據(jù)結(jié)構(gòu)上快速排序的偽代碼自己實(shí)現(xiàn)的。

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
4 [報(bào)告]
發(fā)表于 2007-03-12 10:58 |只看該作者
原帖由 fannyth 于 2007-3-12 10:37 發(fā)表


這是我根據(jù)數(shù)據(jù)結(jié)構(gòu)上快速排序的偽代碼自己實(shí)現(xiàn)的。

我給你指出錯(cuò)誤了,
結(jié)果你說(shuō)你根據(jù)偽碼自己實(shí)現(xiàn)的,
你還讓我怎么說(shuō)呢?

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2007-03-12 12:31 |只看該作者
樓主還是用gdb調(diào)試一下吧,呵呵,數(shù)據(jù)結(jié)構(gòu)的練習(xí)題~~
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP