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

2021-07-12 17:37:41 字數 2458 閱讀 6617

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語言程式設計問題,求高手解答

倆程式一樣的啊。1 max裡的x,y是外部傳入的兩個整數,作為待比較的引數,比較後可以返回兩者間的較大值 2 x,y是函式max的形式引數,所以已有定義,不需要max裡面再重新宣告 3 根據函式max的功能來看,最終是要返回較大值,而z是xy兩者中的較大值,故肯定返回z。除非xy乙個為負數乙個為0或...

求高手C關於升序和降序的問題,關於c 用sort函式 降序排序的小問題?

菜刀撒 新增成員函式,void stuoperate sort1 stu 升序 void stuoperate sort2 stu 降序然後在你列印之前呼叫sort函式 升降序 自己選就行.具體位置 和你的void print int i 位置一樣 給你個例子吧 其實你需要寫一個排序函式,比如簡單的...

求C 高手解答關於函式指標問題

不是函式指標可以指向任何同型別的函式嗎?這是可以的 但是一般的成員函式是在例項化類 建立物件 時,才在記憶體中分配空間的。include using namespace std class ca int main 可以把成員函式說明成靜態函式,這樣就能確定此函式有乙個固定的唯一位址。不是函式名就是首...