test1的時間復雜度最高,test2的時間復雜度優(yōu)于test1,test3的時間復雜度最小,所用的時間最少 [cpp] /************************************test1**********************/ //程序功能:在順序存儲模式下將所有的負數放到整數前面 #include<iostream> using namespace std; /* *算法描述:找到負數并用臨時變量存上,先將負數之前的所有的數向后移一位,然后將負數放在最前面。 */ int main() { int Array = {2,-3,4,-5,6,-7,8,-9,10,-11}; for(int i =0;i < 10;i++) { int temp1;//temp1用于存放找到的負數 if(Array[i]< 0) { temp1 = Array[i]; for(int j =i;j>0;j--) { Array[j] = Array[j-1]; } Array[0] = temp1; } } for(int k = 0;k < 10;k++) { cout《Array[k]《" "; } } /***********************************test2**********************************/ //程序功能:在順序存儲模式下將所有的負數放到整數前面 #include<iostream> using namespace std; /* *算法描述:用一個變量存儲數組前面負數的位置。 */ int main() { int Array = {2,-3,4,-5,6,-7,8,-9,10,-11},k =0; for(int i =0;i < 10;i++) { int temp1;//temp1用于交換數據的臨時變量 if(Array[i]< 0) { temp1 = Array[i]; Array[i] = Array[k]; Array[k] = temp1; k++; } } for(int k = 0;k < 10;k++) { cout《Array[k]《" "; } } |
|