用C 實現順序表

2021-08-09 05:07:59 字數 2744 閱讀 9465

seqlist.h

#include #include using namespace std;

typedef int datatype;

class seqlist

delete_array;

_array = null;

_array = newarray;

_capacity = 2 * _capacity;

} }private:

datatype* _array;

size_t _size;

size_t _capacity;

};

seqlist.cpp

#include "seqlist.h"

//普通版建構函式

seqlist::seqlist()

: _array(new datatype[3])

, _capacity(3)

, _size(0)

{}//陣列版建構函式

seqlist::seqlist(datatype* array, size_t size)

: _array(new datatype[size])

, _capacity(size)

, _size(size)

//普通版拷貝建構函式

seqlist::seqlist(const seqlist& s)

:_array(new datatype[s._capacity])

, _capacity(s._size)

, _size(s._size)}/*

//簡潔版拷貝建構函式

seqlist::seqlist(const seqlist& s)

:_array(null)

, _capacity(0)

, _size(0)

*///普通版的賦值運算子過載

seqlist& seqlist::operator=(const seqlist& s)

} return *this;}/*

//簡潔版的賦值運算子過載

seqlist& seqlist::operator=(seqlist s)

*///析構函式

seqlist::~seqlist()

}//尾插

void seqlist::pushback(int data)

//尾刪

void seqlist:: popback()

_size--;

}int seqlist::find(const datatype& data)

return -1;

}//指定位置插入(在pos之後插入data)

void seqlist::insert(size_t pos, datatype data)

_array[pos] = data;

_size++;

}//刪除pos位的元素

void seqlist::erase(size_t pos)

for (size_t i = pos - 1; i<_size; i++)

_size--;

}//返回size的大小

size_t seqlist::size()const

//返回capacity的大小

size_t seqlist::capacity()const

//判斷順序表是否為空

bool seqlist::empty()const

//運算子過載

datatype& seqlist::operator(size_t index)

const datatype& seqlist::operator(size_t index)const

// 返回順序表中的第乙個元素

datatype& seqlist::front()

const datatype& seqlist::front()const

// 返回順序表中最後乙個元素

datatype& seqlist::back()

const datatype& seqlist::back()const

// 清空順序表中的所有元素

void seqlist::clear()

}// 將順序表中元素個數改變到newsize

void seqlist::resize(size_t newsize, const datatype& data)

} if (newsize>_size) }

//輸出運算子過載

ostream& operator<<(ostream& _cout, const seqlist& s)

_cout << "end";

return _cout;

}void seqlist::diplay()

cout << "end" << endl;

}

test.cpp

#include "seqlist.h"

void funtest()

else

int b = s1.size();

cout << "size= "<< b << endl;

int c = s1.capacity();

cout << "capacity= " << c << endl;

int d = s1.empty();

if (d == 0)

{ cout << "順序表不為空!"<

順序表 用c語言簡單實現順序表

test.h ifndef seplist h define seplist h include include include include define max 100 define default sz 3 當前預設有效值 define isc sz 2 動態分配預設增長個數 typedef...

用C 實現簡單的順序表

這周課後練習是實現老師上課的時候講的順序表的一些基本操作。我們用的是c語言的教材,但之前學計算機語言的時候學的是c 雖然大家都說差不多,但對c語言的一些用法不太熟悉,還是嘗試著用c 的語言來編寫。如下 includeusing namespace std int y struct mylist vo...

學生表 用順序表實現

實驗內容 定義乙個包含學生資訊 學號,姓名,成績 的的順序表,使其具有如下功能 1 根據指定學生個數,逐個輸入學生資訊 2 逐個顯示學生表中所有學生的相關資訊 3 根據姓名進行查詢,返回此學生的學號和成績 4 根據指定的位置可返回相應的學生資訊 學號,姓名,成績 5 給定乙個學生資訊,插入到表中指定...