数据结构的实践心得(归并排序和快速排序:mergeSort、quickSort)
COMZHJ 咕咚的小宇宙
归并排序和快速排序(mergeSort、quickSort):
// 归并排序
void mergeSort(linkQueue *que);
// 快速排序
void quickSort(linkQueue *que);
// 合并两个有序序列
int merge(doubleNode **mergeList, int start, int mid, int end)
{
int count = 0;
// 创建临时内存空间存储合并后结果
doubleNode **list = (doubleNode **)malloc(sizeof(doubleNode *) * (end - start + 1));
int left = start, right = mid + 1, index = 0;
// 两个有序序列中元素的比较合并
while ((left <= mid) || (right <= end))
{
count++;
// 逐个比较两个序列节点的优先级
if (left > mid)
{
list[index++] = mergeList[right++];
}
else if (right > end)
{
list[index++] = mergeList[left+&#