C# 數(shù)組的幾種排序方法

?????????? 1.直接插入排序法
??????????? for (int i = 0; i < arr.Length; i++)
??????????? {
??????????????? int temp = arr[i];
??????????????? int j = i;
??????????????? while ((j>0)&&(arr[j-1]>temp))
??????????????? {
??????????????????? arr[j] = arr[j - 1];
??????????????????? --j;
??????????????? }
??????????????? arr[j] = temp;
??????????? }
???????????
??????????? 2.冒泡排序法
??????????? int j, temp;
??????????? for (int i = 0; i < arr.Length-1; i++)
??????????? {
??????????????? j = i + 1;
??????????? id:
??????????????? if (arr[i]>arr[j])
??????????????? {
??????????????????? temp = arr[i];
??????????????????? arr[i] = arr[j];
??????????????????? arr[j] = temp;
??????????????????? goto id;
??????????????? }
??????????????? else
??????????????? {
??????????????????? if (j<(arr.Length-1))
??????????????????? {
??????????????????????? j++;
??????????????????????? goto id;
??????????????????? }
??????????????? }???
??????????? }
??????????? 3.選擇排序法
??????????? int min;
??????????? for (int i = 0; i < arr.Length-1; i++)
??????????? {
??????????????? min = i;
??????????????? for (int j = i+1; j < arr.Length; j++)
??????????????? {
??????????????????? if (arr[j]<arr[min])
??????????????????? {
??????????????????????? min = j;
??????????????????? }
??????????????? }
??????????????? int t = arr[min];
??????????????? arr[min] = arr[i];
??????????????? arr[i] = t;

??????????? }

注:C#還另外提供了數(shù)組排序方法? Array.Sort(arr)和Array.Reverse(arr),Sort方法可以對數(shù)組進(jìn)行從小到大排序,Reverse方法只是對數(shù)組進(jìn)行逆轉(zhuǎn)并不進(jìn)行排序。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容