C 從小到大排序(25)

2022-09-23 23:24:13 字數 1666 閱讀 8100

排序的演算法

先做乙個private static 方法 返回值是 int陣列 

然後寫上orderby() ;

引數 陣列(int array)也就是說你給我乙個陣列

我幫你排個序

private static int orderby(int array) ;

//不管這個陣列有多少個元素

//這個演算法是通用的,是所有的陣列,只要是int陣列,它都能用

//所以我們現在寫的是乙個演算法

//假設這個陣列是2/8/6/1

private static int orderby(int array) ;

}//用第二個(array[1])和後面對比取最小

for(int i=2; i array[i])

}//用第三個(array[2])和後面對比取最小

for(int i=3; i array[i])}}

//因為內不迴圈要做三遍+

//所以再套乙個for迴圈

//當前索引從0開始(int currentindex = 0;)

//到**結束,倒數第二個(currentindex< array.length -1)

//currentindex自增

for(int currentindex = 0;currentindex< array.length -1;currentindex++)}}

//需要與後面比較的元素

//邏輯需要當前的int currentindex = 0,依次和後面比較

//那麼就先取出第乙個currentindex = 0;和後面int i=currentindex+1比

//再取出第二個,和2後面比;再取出第三個,再和3後面比.....

for(int currentindex = 0;currentindex< array.length -1;currentindex++)}}

//最後迴圈做完了,退出迴圈

return array;

private static int orderby(int array) ;}}

return array;

}這種排序方法,效能上還能優化

這是一種最簡單,直觀的排序

private static int orderby(int array) ;

}//執行到這裡內層for迴圈已經執行完畢

//根據比較結果進行交換,從而提高**效率

}return array;

}private static int orderby(int array) ;

}//14....這裡做交換

//15....需要做乙個判斷minindex不等於currentindex,才做交換

if(minindex != currentindex)

}return array;

}---------------

private static int orderby(int array) ;

}if(minindex != currentindex)

}return array;

}int temp = array[currentindex];

array[currentindex]=array[minindex]

array[minindex] = temp;

這是氣泡排序法

從小到大排序

六一兒童節,老師帶了很多好吃的巧克力到幼兒園。每塊巧克力j的重量為w j 對於每個小朋友i,當他分到的巧克力大小達到h i 即w j h i 他才會上去表演節目。老師的目標是將巧克力分發給孩子們,使得最多的小孩上台表演。可以保證每個w i 0且不能將多塊巧克力分給乙個孩子或將一塊分給多個孩子。第一行...

氣泡排序 從小到大排序

li 1,5,2,44,66,564,33,76,378 def bubble sort li 獲取列表的長度 n len li 遍歷列表長度減1次 for i in range 1,n 建立乙個變數,用來機率冒泡,是否有資料交換位置 status false 每次遍歷獲取第乙個元素,依次和後面的元...

排序 自己選擇是從小到小還是從小到大排序。

include head.c void main 排序 end for 記錄剛才輸入的十個數。printf 請選擇倒序 d 順序 a 退出 e char ch d for while ch d ch a ch e switch ch end main void asc int num end if ...