氣泡排序
public static int maopao(int param)}}
return param;
}快速排序
public static int quick(int param, int left, int right)
return param;
}//分割陣列,相當於分治演算法,快速排序的核心
private static int partition(int param, int left, int right)
else}}
插入排序
public static int insert(int param)
//將位於i位置的數,放到空餘位置,這時j+1位置沒有數
param[j + 1] = t;
}return param;
}選擇排序
public static int select(int param)
}//將找到的最小數放到陣列的前面
t = param[i];
param[i] = min;
param[index] = t;
}return param;
}歸併排序
public static int merge(int param)
else
}//左側有未處理的資料
while (start1 <= j + i)
//右側有未處理的資料
while (start2 <= j + i * 2)
//將新陣列的資料放回到原陣列中
for (int k = start1, l = 0; k < arr.length; k++, l++)}}
return param;
}
排序演算法集合
從未排序的集合中找出乙個元素,依次與已排序的集合元素進行比較,如果滿足規則,小於或是等於,直接插入,依次迴圈,直至待排序集合元素為空。清單.插入排序 直接插入排序 param arr public void insertsort int arr 從待排序元素集合中,找出其中最大或是最小的元素,插入到...
排序演算法集合
就按照 演算法導論 裡面的順序寫吧 原理都不講了,只是貼一下 給參考。其實書上也寫得很清楚,我只是用c 實現出來而已。1.歸併排序 merge sort include include include include include using namespace std 二路歸併排序 遞迴實現 v...
排序演算法集合
一.氣泡排序 思路 比較相鄰的元素,每次比較都會生成最大或者最小值放在最後,所以每輪比較次數會遞減 function sort arr 複製 二.快排 思路 雙指標 遞迴分治。每次比較都能找到基值的位置,然後遞迴比較基值左右的部分 function sort arr,start,end arr st...