C 實現順序表和煉表

2021-08-19 04:35:08 字數 2313 閱讀 8278

更多c++知識:c++目錄索引

順序表:

vector.h

#pragma once

typedef int datatype;

class vector

;

vector.cpp

#include"vector.h"

#include

using

namespace

std;

vector::vector()//構造

:_first(null)

, _finish(null)

, _endofstorage(null)

{}vector::~vector()//析構

_first = _finish = _endofstorage = null;

}void vector::show()

cout

<< endl;

}//v1(v)

vector::vector(const vector& v)

}}void vector::swap(vector& tmp)

vector& vector::operator=(const vector& v)

return *this;

}size_t vector::size()//大小

size_t vector::capacity()//容量

void vector::expand(size_t n)//擴容

//釋放舊空間

delete _first;

_finish = _endofstorage = null;

_first = array;

_finish = newfinish;

_endofstorage = newend;

}}

void vector::pushback(datatype x)//尾插

*_finish = x;

_finish++;

}void vector::reserve(size_t n)//n大小,保留空間,欲開空間

void vector::popback()//尾刪

}void vector::insert(size_t pos, datatype x)//插入

datatype* cur = _finish;

while (cur >= _first + pos)

*(_first + pos) = x;

_finish++;

}void vector::erase(size_t pos)//刪除

size_t vector::find(datatype x)//查詢

++cur;

}return -1;

}}

鍊錶
#pragma  once

#include

using namespace std;

typedef int datatype;

struct listnode

};class list

;

list.cpp

list::list()

:head(new node(datatype()))

list::list(const

list& l)

}void list::swap(list& l)

list& list::operator=(const

list& l)//交換

return *this;

}list::~list()

head = null;

}void list::pushback(datatype x)

else

}void list::popback()

void list::pushfront(datatype x)//頭插

void list::popfront()//頭刪

void list::insert(node* pos, datatype x)//任意位置插入

void list::erase(node* pos)//任意位置刪除

list::node* list::find(datatype x)

cur = cur->_next;

}return

null;

}void list::show()//列印

printf("\n");

}

c 順序表和煉表

這節來說下順序表和煉表 1 集合中必存在唯一的 第乙個元素 2 集合中必存在唯一的 最後乙個元素 3 除第乙個元素外,其他的元素都只有乙個後繼 4 除最後乙個元素外,其他的元素都只有乙個前驅 把線性表中的節點按照邏輯次序儲存在一組連續的位址單元中,在計算機中以陣列的形式儲存的線性表。在順序表中每個節...

C 類實現順序表和雙向鍊錶

1.include 2.include 3.using namespace std 4.5.typedef int datatype 6.7.class seqlist 8.15.16.seqlist size t n,datatype value 17.24.25.seqlist const se...

C 模板實現順序表和煉表

順序表 pragma once include include include using namespace std 模板實現順序表 考慮深層次的深淺拷貝問題 template class seqlist t operator size t pos void print private t a s...