title: 每日一題–合併排序
date: 2019-11-02 23:53:02
tags:
73.合併排序 (10分)c時間限制:3000 毫秒 | c記憶體限制:3000 kb
題目內容:
使用合併排序演算法,對輸入的n個資料進行按公升序排序。
輸入描述
分兩行,第一行是整數n,第二行是n個整數,每個整數之間用空格間隔。
輸出描述
按公升序排序的n個整數
輸入樣例
89 8 7 6 5 4 3 2
輸出樣例
2 3 4 5 6 7 8 9
#include
int n, a[
100]
;//合併
void
fun02
(int m,
int n,
int tmp)
else
}//將剩下的強者全部加入陣列
while
(i <= tmp)
while
(j <= n)
//將排好序的陣列填入初始陣列
k =0;
for(
int pos = m; pos <= n; pos++)}
void
fun01
(int m,
int n)
//一分為二
int tmp =
(n + m)/2
;//先排左邊
fun01
(m, tmp)
;//再排右邊
fun01
(tmp +
1, n)
;//合併排好序的陣列
fun02
(m, n, tmp);}
intmain()
fun01(0
, n -1)
;for
(int i =
0; i < n; i++
)return0;
}
基礎演算法,一定得熟記於心,順手拈來。
LeetCode 每日一題 合併排序的陣列
給定兩個排序後的陣列 a 和 b,其中 a 的末端有足夠的緩衝空間容納 b。編寫乙個方法,將 b 合併入 a 並排序。初始化 a 和 b 的元素數量分別為 m 和 n。示例 輸入 a 1,2,3,0,0,0 m 3 b 2,5,6 n 3 輸出 1,2,2,3,5,6 看到這個題,我們的第一反應是讓...
合併排序的陣列 leetcode每日一題
這道題並不難,或許每個人都能想到直接賦值給a,然後再排序就完了。然後我刷這道題學到了這種雙指標的做法。1.乙個指標t1指向a的最後乙個數 3 乙個指標t2指向b的最後乙個數 6 2.如果t1 t2,就把t1插到 t1 t2 1 的位置然後指標t1向前移動一格 反之,就把t2插到 t1 t2 1 的位...
每日一題 歸併排序
第一次寫部落格,大佬們輕點噴 注 作為乙個計算機專業的本科生,每日做題也都是必不可少的,這個系列裡會更新一些我平時做的一些題目,大都比較簡單,不少題目在其他部落格裡也可以找到,我撰寫這些部落格僅用於記錄。這是一道比較簡單的資料結構的題目,先來看題 本題要求實現二路歸併排序中的歸併操作,待排序列的長度...