91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據結構-選擇排序

發布時間:2020-07-03 03:13:06 來源:網絡 閱讀:283 作者:2013221 欄目:編程語言
  • 選擇排序

    1.選擇排序

//堆排序,向下調整子函數

void AdjustDown(int *a, size_t size, size_t root)

{

size_t parent = root;

size_t child = parent * 2 + 1;

while (child < size)

{

//選擇孩子節點中較大的節點,與父親節點交換

if (child + 1 < size&&a[child + 1] > a[child])

{

++child;

}

if (a[child]>a[parent])

{

swap(a[child], a[parent]);

parent = child;

child = parent * 2 + 1;

}

else

{

break;

}

}

}

//堆排序

void HeapSort(int *a, size_t size)

{

assert(a);

//建立大根堆

for (int i = (size - 2) / 2; i >= 0; --i)

{

AdjustDown(a, size, i);

}

//排序,把最大的元素放在最后一個位置上

for (size_t i = 0; i < size; ++i)

{

swap(a[0], a[size - i - 1]);

AdjustDown(a, size - i - 1, 0);

}

}


  • 2.堆排序

//選擇排序

void SelectSort(int *a, size_t size)

{

//選出最大數值的下標,進行交換

int maxindex;

for (size_t i = 0; i < size; ++i)

{

maxindex = 0;

for (size_t j = 0; j < size - i ; ++j)

{

if (a[j]>a[maxindex])

{

maxindex = j;

}

}

swap(a[maxindex], a[size - i - 1]);

}

}

//選擇排序的優化

//同事挑選出最小與最大的數據

void SelectSort_OP(int *a, size_t size)

{

assert(a);

size_t left = 0;

size_t right = size - 1;

while (left < right)

{

for (size_t i = left; i <= right; i++)

{

if (a[i] < a[left])

{

swap(a[i], a[left]);

}

if (a[i]>a[right])

{

swap(a[i], a[right]);

}

}

++left;

--right;

}

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富锦市| 铁岭市| 文登市| 惠水县| 苏州市| 茶陵县| 海盐县| 高碑店市| 喀什市| 拉萨市| 广元市| 望江县| 娄烦县| 茌平县| 镇安县| 焦作市| 曲周县| 庐江县| 富锦市| 长武县| 石阡县| 长海县| 洪湖市| 海淀区| 汝城县| 福安市| 梅河口市| 谢通门县| 武邑县| 郓城县| 元谋县| 永登县| 昌图县| 咸阳市| 渑池县| 肇州县| 德钦县| 西华县| 乌兰察布市| 太原市| 资中县|