當前位置:編程學習大全網 - 編程軟體 - c語言編程排序問題

c語言編程排序問題

註釋加上了,看看行不行

#include <iostream>

#include <fstream>

#include <algorithm>

#include <time.h>

using namespace std;

int ran(int n) //隨機函數,輸出是1~n的隨機整數

{

return rand()%n+1;

}

/*c/c++語言中,生成隨機數要先生成種子,這點如果妳不明白不要緊,日後壹定會明白的

我大壹的時候聽說之後也不明白*/

int main()

{

int num[200],i,n=200;

ofstream Aout("a.dat"),Bout("b.dat"); //兩個文件流,就是對兩個文件進行寫操作的對象

//其中ofstream代表output,file,stream

srand((unsigned)time(NULL)); //生成隨機數的種子

cout<<"before sort:"<<endl;

for(i=0;i<n;i++) //這個for循環,生成n個隨機數(n=200,可以自己改n的值)

{ //cout是向控制臺輸出,Aout是向a.dat輸出

num[i] = ran(1000);

cout<<num[i]<<" ";

Aout<<num[i]<<" ";

if((i+1)%10 == 0) //這個的意思是每十個數壹行,endl相當於換行

{

cout<<endl;

Aout<<endl;

}

}

cout<<endl;

sort(num,num+n); //對這些數排序,快速排序方法,在algorithm頭文件中,O(nlogn)復雜度

cout<<"after sort:"<<endl;

for(i=0;i<n;i++) //輸出這些排序之後的數據,其中cout是向控制臺輸出,Bout就是往b.dat輸出

{ //這個for循環是和上面的形式壹樣的

cout<<num[i]<<" ";

Bout<<num[i]<<" ";

if((i+1)%10 == 0)

{

cout<<endl;

Bout<<endl;

}

}

cout<<endl;

return 0;

}

  • 上一篇:我喜歡上了直男怎麽辦
  • 下一篇:分步編程
  • copyright 2024編程學習大全網