c#學習之冒泡
阿新 • • 發佈:2018-12-11
今天剛看了一個程式設計題,就是進行陣列排序,說到排序,其實可以使用陣列自帶的一個方法進行排序即可。而這裡我想介紹另外一種排序方法。
程式設計題的大概意思是,從客戶端輸入一些數字,然後進行從小到大的排序。
冒泡的大概意思就是讓前一個數組的元素與後一個元素進行比較,小的往前面交換,大的往後面交換,如果過程反覆迴圈直到排序完成,這樣的過程無論是小的往前還是大的往後都挺像是冒泡,所以這應該就是這種排序方法被稱為冒泡的原因(本人的理解)。
接下來就是程式碼
String str = Console.ReadLine(); String[]strArray = str.split(''); int[]numArray=new int[strArray.Length]; for(int i=0;i<strArray.Length;i++){ int temp=Convert.ToInt32(strArray[i]); numArray[i]=temp; }//分割字串,陣列儲存 for(int j =1;j<str.length;j++){//外層for迴圈控制執行的次數 for(int i =0;i<numArray.length-1-(j+1);i++){//內層for迴圈進行冒泡比較//-(j+1)是為了將上一個排序最後的值排除在外,因為上一次排序到最後的值肯定是最小的,沒必要在新的迴圈中進行比較 if(numArray[i+1]<numArray[i]){ int temp=numArray[i]; numArray[i]=numArray[i+1]; numArray[i+1]=temp; } } }//氣泡排序, for(int i =0;i<numArray.Length;i++) { Console.Write(numArray[i]+" "); } Console.ReadKey();
本人還只是個新手,歡迎有經驗的大佬們多多指教。