C 實現向量構造的線性表

2021-08-09 15:22:16 字數 1978 閱讀 2094

#include#include//copy,copy_backward函式

#include//ostringstream

#include//字串

#include//異常處理

#include//ostream_iterator輸出流

#include//vector線性表

using namespace::std;

//異常類

class illegalparametervalue

void outputmessage()

private:

string message;

};class illegalindex

void outputmessage()

private:

string message;

};//向量類

templateclass vectorlist

//adt方法

void erase(int theindex);

void insert(int theindex, const t& theelement);

void output(ostream& cout);

typedef typename vector::iterator iterator; //類的迭代器,很有用

iterator begin()

iterator end()

void half();

void meld(vectorlist& a,vectorlist& b);

void merge(vectorlist& a, vectorlist& b);

void split(vectorlist& a, vectorlist& b);

private:

vector* element;

};//向量線性表建構函式以及其他函式的定義

templatevectorlist::vectorlist(int initialcapacity)

element = new vector;

element->reserve(initialcapacity);

}//插入函式

templatevoid vectorlist::insert(int theindex, const t& theelement)

//刪除函式

templatevoid vectorlist::erase(int theindex)

//輸出函式

templatevoid vectorlist::output(ostream& cout)

//half函式,刪除奇數字的元素

templatevoid vectorlist::half()

}//合併兩個表,值交替進行

templatevoid vectorlist::meld(vectorlist& a,vectorlist& b)

for (int i = 2 * n; i < m + n; i++)

}else //a比b長,則操作相反

for (int i = 2 * m; i < m + n; i++)

}}//對兩個非遞減序列進行合併,保證合併之後是有序的

templatevoid vectorlist::merge(vectorlist& a, vectorlist& b)

while (i < m + n)

sort(element->begin(),element->end()); //先合併兩個線性表,再用sort函式進行公升序排列

}//分解線性表,生成兩個線性表

templatevoid vectorlist::split(vectorlist& a, vectorlist& b)

}int main()

C 線性表的實現

1 線性表的實現,main函式裡是所有函式的測試!有興趣的可以參考!高手請指正 23 include 4 include 5 include 6 using namespace std 78 const int defaultsize 100 9 10 template 11class seqlis...

C 實現順序表(線性表)

基本思想是使用陣列作為盛放元素的容器,陣列一開始的大小要實現確定,並使用乙個pointer指向順序表中最後的元素。順序表中的元素是陣列中元素的子集。順序表在記憶體中是連續的,優勢是查詢,弱勢是插入元素和刪除元素。為避免裝箱拆箱,這裡使用泛型,代替object。使用object的例子可以參照這個鏈結中...

C 簡易線性表實現。

哦,看了siki的資料結構教程,自己嘗試實現了一下。介面類如下,主要就實現了這幾個,using system namespace dsl gets the index of the element by.the element by index.index.t getelementbyindex i...