一點一點學演算法 直接插入和排序

2021-06-22 02:12:42 字數 1831 閱讀 4564

上次演算法問題回答不上來後,很受打擊,於是決定重新學習演算法,本人不是計算機專業,但是還要把演算法給啃起來,這兩天慢慢的在看一些演算法,也會將練習的一些程式發出來,平時都是在linux下寫**,現在用vs2010上練習。附上**:其它不表。在最下面有工程打包檔案。新增冒泡法模板時編譯報錯,也請各路大神給予指點。報錯資訊為:

>d:\c++workspace\演算法學習\演算法學習\bubbsort.h(52): error c2904: 「cbubbsorttestl」: 名稱已經用於當前範圍內的模板

1>          d:\c++workspace\演算法學習\演算法學習\bubbsort.h(14) : 參見「cbubbsorttestl」的宣告

1>d:\c++workspace\演算法學習\演算法學習\main.cpp(41): error c2146: 語法錯誤: 缺少「;」(在識別符號「cbubbsort」的前面)

1>d:\c++workspace\演算法學習\演算法學習\main.cpp(41): warning c4551: 缺少引數列表的函式呼叫

1>d:\c++workspace\演算法學習\演算法學習\main.cpp(41): error c2065: 「cbubbsort」: 未宣告的識別符號

1>d:\c++workspace\演算法學習\演算法學習\main.cpp(42): error c2065: 「cbubbsort」: 未宣告的識別符號

1>d:\c++workspace\演算法學習\演算法學習\main.cpp(42): error c2228: 「.bubbsort」的左邊必須有類/結構/聯合

1>          型別是「'unknown-type'」

1>

氣泡排序演算法模板為:

#ifndef __bubbsort_h__

#define __bubbsort_h__/**

**氣泡排序演算法**

**/template class cbubbsorttestl

; ~cbubbsorttestl(){};

public:

void swap(t *p1,t *p2);

// 0是公升序 1是降序

int bubbsort(t array,int isize);

};templatevoid cbubbsorttestl::swap(t *p1,t *p2)

;templateint cbubbsorttestl::bubbsort(t array,int isize)

*/ int i = 0,j=0;

for ( i = isize-1;i>1;i--)

; ~cdirectinsertsort(){};

public:

void swap(t *p1,t *p2);

// 0是公升序 1是降序

int directinsertsort(t array,int isize,int isorttype=0);

};templatevoid cdirectinsertsort::swap(t *p1,t *p2)

templateint cdirectinsertsort::directinsertsort(t array,int isize,int isorttype)

if(0 ==isorttype)

}} }

else if(1 == isorttype)

}} }

return 0;

}#endif

執行截圖1:

不知道怎麼上傳附件,有知道的請指點。謝謝

一點一點學寫Makefile 1

相信很多linux開發者 都得自己來寫makefile,剛開始學習學寫這個的時候都會碰到很多困難,我之前沒有自己獨立完成過makefile,都是在公司已有的模板上新增。現在突然有乙個很大的想法就是從零開始寫makefile,這個部落格就是我的學習筆記。如下 cpp view plain copy i...

每天學一點(一)

記錄學習內容 js中對於函式的建立,在使用函式表示式和函式宣告相結合時,正確寫法為 var sum function sum a,b console.log sum 1,2 輸出3 若定義的變數和函式名稱書寫不一致,則會產生錯誤。var sum1 function sum2 a,b console....

排序 一 直接插入排序

1 直接插入排序 1 定義 直接插入排序 straight insertion sort 是一種最簡單的排序方法。它的基本操作是將乙個記錄插入到乙個長度為m 假設 的有序表中,使之仍保持有序,從而得到乙個新的長度為m 1 的有序表。2 演算法思路 設有一組關鍵字 k 1 k 2 k n 排序開始就認...