#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;
}