關於演算法之查詢和模板

2021-06-25 09:38:33 字數 781 閱讀 1537

c++提供了函式模板(function template)。所謂函式模板,實際上是建立乙個通用函式,其函式型別和形參型別不具體指定,用乙個虛擬的型別來代表。這個通用函式就稱為函式模板。

凡是函式體相同的函式都可以用這個模板來代替,不必定義多個函式,只需在模板中定義一次即可。在呼叫函式時系統會根據實參的型別來取代模板中的虛擬型別,從而實現了不同函式的功能。

// 1.cpp : 定義控制台應用程式的入口點。

////

#include "stdafx.h"

#include "stdlib.h"

#include

#include "assert.h"

int find(int array, int length, int value)

}return false;

}template

int find1(type array, int length, type value)

type *start = array;

type *end = array+length;

while(start < end)

start++;

}return false;

}static void test1()

;assert(0 == find(array, 10, 1));

assert(false == find(array, 10, 10));

}int _tmain(int argc, _tchar* argv)

思考:陣列與指標操作之「+」

關於傳統字元查詢(BF演算法)和KMP演算法

關於字串的查詢,以前一直覺得很難,現在重新來看,感覺要好很多了 多的不談,直接上 關於模式串的查詢,bf演算法 傳統演算法 與kmp演算法 include using namespace std intbf string s string t else if j t.length else void...

演算法模板之SPFA

bellman ford能夠處理帶負權圖的單源最短路問題。帶負勸環的圖,無法求出單源最短路 bellman ford的主要思想如下 給定一張有向圖,若對於圖中的某一條邊 x,y,z 有 dist y dist x z 成立,則稱該邊滿足三角不等式。若所有邊都滿足三角不等式,則dist陣列就是所求最短...

查詢演算法之順序查詢和二分查詢

1.順序查詢 基本思想 從資料結構線性表一端開始,順序掃瞄,依次將掃瞄到的關鍵字值與給定key相比較,若相等則表示查詢成功 若掃瞄結束仍沒有找到關鍵字等於key值的結點,表示查詢失敗。順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。如下 include include using namespa...