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)的演算法! 倆程式一樣的啊。1 max裡的x,y是外部傳入的兩個整數,作為待比較的引數,比較後可以返回兩者間的較大值 2 x,y是函式max的形式引數,所以已有定義,不需要max裡面再重新宣告 3 根據函式max的功能來看,最終是要返回較大值,而z是xy兩者中的較大值,故肯定返回z。除非xy乙個為負數乙個為0或... 菜刀撒 新增成員函式,void stuoperate sort1 stu 升序 void stuoperate sort2 stu 降序然後在你列印之前呼叫sort函式 升降序 自己選就行.具體位置 和你的void print int i 位置一樣 給你個例子吧 其實你需要寫一個排序函式,比如簡單的... 不是函式指標可以指向任何同型別的函式嗎?這是可以的 但是一般的成員函式是在例項化類 建立物件 時,才在記憶體中分配空間的。include using namespace std class ca int main 可以把成員函式說明成靜態函式,這樣就能確定此函式有乙個固定的唯一位址。不是函式名就是首...高分急求!C語言程式設計問題,求高手解答
求高手C關於升序和降序的問題,關於c 用sort函式 降序排序的小問題?
求C 高手解答關於函式指標問題