冒泡排序: 1) 第一輪比較的次數(shù):數(shù)組的總長度-1 2)下一輪比上一輪比較的次數(shù):少一次 int temp,; int nums[]={}; //外層循環(huán)控制比較的輪數(shù) for(int i = 0;i<N-1;i++) //內(nèi)層循環(huán)控制每輪的比較和交換 for(int j = 0 ;j<N-i-1;j++) { //交換 temp = num } //數(shù)組元素的排序:冒泡排序,,選擇排序 //冒泡排序中犯的錯誤 if(a[j] < a[j+1]) //如果是j-1的話排序會出問題,因為j是從0開始的 { temp = a[j]; a[j]=a[j+1]; a[j+1]=temp; } //我將j從1開始,,終止條件加上了等號,,就能得到相同的結果了 for(int j=1;j<=4-i;j++) { if(a[j-1] < a[j]) { temp = a[j-1]; a[j-1]=a[j]; a[j]=temp; } } //在使用變量定義數(shù)組尺寸的時候,變量值應該在數(shù)組聲明之前,,就給出,。否則雖然不報錯但是運行之后沒有結果 int main() { //冒泡排序示例 int temp,N,p; cout << "請輸入數(shù)組中元素的個數(shù):"; cin >> N; int a[N];
|