急求!!C 高手來,關於排序綜合的問題

時間 2021-07-12 17:38:28

1樓:匿名使用者

//visual studio 2005中編譯通過

#include

#include

#include

using namespace std;

void qsort(int *a,int b,int e) /*快速排序*/}}

void insertsort(int *a,int n) /*插入排序*/

}a[j+1]=k;}}

void quicksort(int *pdata,int left,int right) //快速排序

}while(i<=j);//如果兩邊掃描的下標交錯,就停止(完成一次) //當左邊部分有值(lefti),遞迴右半邊

if(right>i)

}void bubbleupsort(int *pdata,int ncount)//氣泡排序法

}void initarray(int *pdata,int ncount)

void showarray(int *pdata,int ncount)

}int main()

//參照了匿名回答者,但時間精確到了0.0001毫秒。

2樓:匿名使用者

正好複習一下大一大二學過的東西~~我是學計算機的哦,不過差不多一年沒接觸排序演算法了,竟然忘記得差不多了,花了我半天時間。。。不過你的要求應該基本實現了,我用的是vc6.0。

#include

#include

#include//clock()標頭檔案

#include

#include//檔案操作標頭檔案

using namespace std;

#define max_num 100000//定義系統產生的隨機數的最大個數

void srand (unsigned int seed);//申明隨機數發生器的初始化函式

int rand(void);//申明偽隨機數發生器

void bubblesort(long b,long a,long n);

ofstream out;//檔案流物件

char s[100000];

clock_t start,end;//定義排序開始及結束時間

char tbuffer[9];

srand((unsigned int)time(null));

m=20000+rand();//隨機數的個數=20000+系統產生的隨機數

long num[max_num],a[max_num];

for(i=0;inum[i]=rand();//將m個隨機數賦給num陣列,以便進行運算

bubblesort(num,a,m);

end=clock();

j=0;

for(i=0;isprintf(s, "%d\n", a[i]);//將long型整數轉換為字串

out.write(s,strlen(s));//寫入檔案

out.close();

compare[0]=(end-start)/double(clocks_per_sec);

insertsort(num,a,m);

end=clock();

for(i=0;isprintf(s, "%d\n", a[i]);

out.write(s,strlen(s));

out.close();

compare[1]=(end-start)/double(clocks_per_sec);

selectsort(num,a,m);

end=clock();

j=0;

for(i=0;isprintf(s, "%d\n", a[i]);

out.write(s,strlen(s));

out.close();

compare[2]=(end-start)/double(clocks_per_sec);

cout<<"效能:"

3樓:匿名使用者

#include

#include

#include

void qsort(int *a,int b,int e) /*快速排序*/}}

void isort(int *a,int n) /*插入排序*/

}a[j+1]=k;}}

int *init(const int n) /*初始化函式,返回含有n個隨機整數的陣列*/

}for (i = 0; i

return a;

}int main(int argc, char* argv)

4樓:

最快的演算法你沒有列出來,按照你的要求,可以設計出o(n)的演算法!

急求C語言程式設計高手來,急求!!!!! c語言程式設計大賽口號主題

include define n 4 void main for i 0 i for j 0 j printf n 加分吧。include define n 4 main for i 0 i printf 主次對角線元素之和 d n sum 補充 偶數階矩陣,沒有中間的數,不存在加兩次的情況!改過了...

高手來看關於大氣壓的問題急高手來

這個標題選擇b 這個問題,所以我無限的弱點,這個問題是生活常識問題是簡單的理論問題,更簡單啊,的我告訴你這個問題,讓我說不出話來,極端 首先,兩瓶液體水平等於保證的先決條件,那就是,兩瓶這個時候,當空氣壓力平衡,我已經普及知道壓力是什麼.你知道你的壓力的氣氛,但空氣中有什麼壓力?簡單的壓力問題,你可...

急!關於電腦穩壓器的問題!!求高手

這是沒辦法的事情,對電腦來說,最好還是用ups最合適的啦,現在的ups也不是很貴,便宜的百元左右。不想買,那就只能用穩壓器啦,儘管有文章說不好,可總比不用強吧。您處的電壓其實是有時過低,這會使得電腦自動關機與重啟動,使一般的家電效率降低或難以正常工作,甚至損壞。如果您的住處是個居民區,附近的電壓都低...