L2 012 關於堆的判斷 插入建堆

2021-10-08 23:20:37 字數 680 閱讀 7453

堆函式

push_heap(a+1,a+i+1) 插入建堆函式,第三個引數可加:greater<>() —— 小頂堆,預設大頂堆

push_mack(a+1,a+n+1) 用完整的資料建堆

注意的是,這題說的是已經有乙個堆,要插入。所以不能使用直接建堆的方法

建堆比較容易,字串有點點麻煩,仔細一點也可以的,字串有規律,前幾個單詞有相同的

code中函式建堆和手動建堆都有

#include

#include

using

namespace std;

int n, m;

int a[

1005];

// 找下標

intfind

(int x)

return1;

}// 手寫堆插入函式

void

insert

(int i)

}int

main()

while

(m--

)else

if(s ==

"is"

)else

if(s ==

"the"

)else}}

cout << endl;

}return0;

}

L2 012 關於堆的判斷

題目如下 時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 輸入格式 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元...

L2 012 關於堆的判斷

題目 1.按題目要求先將傳進來的數按順序插入,每插入乙個新的元素就要從下向上調整,邊插入邊調整,不能全部插入後再從上到下調整。2.得到調整好的堆後,對輸入的指令字串進行分析,取出其中的數字,並判斷是題目所給的四類命題的哪一類 在這裡我採用按空格分幾個部分輸入字串的形式獲取字串中的數字 例如輸入 24...

L2 012 關於堆的判斷

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 將一系列給定數字順序插入乙個初始為空的小頂堆h。隨後判斷一系列相關命題是否為真。命題分下列幾種 輸入格式 每組測試第1行包含2個正整數n 1000 和m 20 分別是插入元素的個數 ...