/**
* å泡æåº
* æ¯è¾ç¸é»çå
ç´ ãå¦æ第ä¸ä¸ªæ¯ç¬¬äºä¸ªå¤§ï¼å°±äº¤æ¢ä»ä»¬ä¸¤ä¸ªã
* 对æ¯ä¸å¯¹ç¸é»å
ç´ ä½åæ ·çå·¥ä½ï¼ä»å¼å§ç¬¬ä¸å¯¹å°ç»å°¾çæåä¸å¯¹ãå¨è¿ä¸ç¹ï¼æåçå
ç´ åºè¯¥ä¼æ¯æ大çæ°ã
* é对ææçå
ç´ éå¤ä»¥ä¸çæ¥éª¤ï¼é¤äºæåä¸ä¸ªã
* æç»æ¯æ¬¡å¯¹è¶æ¥è¶å°çå
ç´ éå¤ä¸é¢çæ¥éª¤ï¼ç´å°æ²¡æä»»ä½ä¸å¯¹æ°åéè¦æ¯è¾ã
* @param numbers éè¦æåºçæ´åæ°ç»
*/
public static void bubbleSort(int[] numbers)
{
int temp = 0;
int size = numbers.length;
for(int i = 0 ; i < size-1; i ++)
{
for(int j = 0 ;j < size-1-i ; j++)
{
if(numbers[j] > numbers[j+1]) //交æ¢ä¸¤æ°ä½ç½®
{
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
}
}
}
}
å¿«éæåºçåºæ¬ææ³ï¼
éè¿ä¸è¶æåºå°å¾
æåºè®°å½åå²æç¬ç«ç两é¨åï¼å
¶ä¸ä¸é¨åè®°å½çå
³é®ååæ¯å¦ä¸é¨åå
³é®åå°ï¼ååå«å¯¹è¿ä¸¤é¨å继ç»è¿è¡æåºï¼ç´å°æ´ä¸ªåºåæåºã
/**
* æ¥æ¾åºä¸è½´ï¼é»è®¤æ¯æä½ä½lowï¼çå¨numbersæ°ç»æåºåæå¨ä½ç½®
*
* @param numbers 带æ¥æ¾æ°ç»
* @param low å¼å§ä½ç½®
* @param high ç»æä½ç½®
* @return ä¸è½´æå¨ä½ç½®
*/
public static int getMiddle(int[] numbers, int low,int high)
{
int temp = numbers[low]; //æ°ç»ç第ä¸ä¸ªä½ä¸ºä¸è½´
while(low < high)
{
while(low < high && numbers[high] > temp)
{
high--;
}
numbers[low] = numbers[high];//æ¯ä¸è½´å°çè®°å½ç§»å°ä½ç«¯
while(low < high && numbers[low] < temp)
{
low++;
}
numbers[high] = numbers[low] ; //æ¯ä¸è½´å¤§çè®°å½ç§»å°é«ç«¯
}
numbers[low] = temp ; //ä¸è½´è®°å½å°å°¾
return low ; // è¿åä¸è½´çä½ç½®
}
éå½å½¢å¼çåæ²»æåºç®æ³ï¼
/**
*
* @param numbers 带æåºæ°ç»
* @param low å¼å§ä½ç½®
* @param high ç»æä½ç½®
*/
public static void quickSort(int[] numbers,int low,int high)
{
if(low < high)
{
ããint middle = getMiddle(numbers,low,high); //å°numbersæ°ç»è¿è¡ä¸å为äº
ããquickSort(numbers, low, middle-1); //对ä½å段表è¿è¡éå½æåº
ããquickSort(numbers, middle+1, high); //对é«å段表è¿è¡éå½æåº
}
}
温馨提示:答案为网友推荐,仅供参考