排序的演算法
先做乙個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 ...