上次演算法問題回答不上來後,很受打擊,於是決定重新學習演算法,本人不是計算機專業,但是還要把演算法給啃起來,這兩天慢慢的在看一些演算法,也會將練習的一些程式發出來,平時都是在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 排序開始就認...