我寫了一個程序,打印所有可能的單詞有4個字母,字母可以是大寫或小寫,而且花了42分鐘,這是長時間時間「。打印4個字母的所有可能單詞的時間太長
char Something[5]={0,0,0,0};
for(int i=65;i<=122;i++){ //65 is ascii representation of A and 122 for z
Something[0]=i;
cout<<Something<<endl;
for(int j=65;j<=122;j++){
Something[1]=j;
cout<<Something<<endl;
for(int n=65;n<=122;n++){
Something[2]=n;
cout<<Something<<endl;
for(int m=65;m<=122;m++){
Something[3]=m;
cout<<Something<<endl;`
所以我需要知道程序中大部分時間需要什麼。 而我怎樣才能使它更有效率。
不相關,但只是寫'for(int i ='A'; i <='z'; i ++)。它節省了不必要的評論,更清楚你在做什麼,並以不同的編碼工作 – Tas
你的迭代會導致 - 「長時間的」!!! –
有超過1100萬個字符串*可以打印*。這就是問題所在。控制檯I/O很可能是您的程序花費大部分時間的地方。如果你刪除了所有'cout'語句,程序運行速度會快幾個數量級。考慮把你所有的個人號碼寫入'sstream'。然後,當sstream達到一定的長度(例如1M個字符)時,請執行cout或保存到文件。清除流並保持循環。 – selbie