具體實現程式碼@資料結構探險——順序表
file:List.hpp
#ifndef List_hpp
#define List_hpp
#include
class List{
public:
List(int size);
~List();
void clearList();
bool ListEmpty();
int ListLength();
bool getElem(int i,int &elem);
int locateElem(int elem);
bool priorElem(int *currentElem,int *preElem);
bool nextElem(int *currentElem,int *nextElem);
void ListTraverse();
bool ListInsert(int i,int *Elem);
bool ListDelete(int i,int *Elem);
private:
int *m_pList;
int m_iSize;
int m_iLength;
};
#endif /* List_hpp */
file:List.cpp
#include "List.hpp"
#include
using namespace std;
List::List(int size){
m_iSize = size;
m_pList = new int[m_iSize];
m_iLength = 0;
}
List::~List(){
delete []m_pList;
m_pList = NULL;
}
void List::clearList(){
m_iLength = 0;
}
bool List::ListEmpty(){
return m_iLength==0?true:false;
}
int List::ListLength(){
return m_iLength;
}
bool List::getElem(int i , int &elem){
if(i m_iLength){
return false;
}
else{
elem = m_pList[i];
return true;
}
}
int List::locateElem(int elem){
for(int i = 0;i m_iLength){
return false;
}
for(int j = m_iLength;j >= i;j--){
m_pList[j+1] = m_pList[j];
}
m_pList[i] = *Elem;
m_iLength++;
return true;
}
bool List::ListDelete(int i,int *Elem){
if(i m_iLength){
return false;
}
*Elem = m_pList[i];
for(int j = i + 1;j
file:demo.cpp
#include
#include
#include "List.hpp"
using namespace std;
int main(void){
List *p = new List(30);
int e1 = 1;
int e2 = 2;
int e3 = 3;
int e4 = 4;
int e5 = 5;
int e6 = 6;
int e7 = 7;
int e8 = 8;
int e9 = 9;
p->ListInsert(0,&e1);
p->ListTraverse();
p->ListInsert(1,&e2);
p->ListTraverse();
p->ListInsert(2,&e3);
p->ListTraverse();
p->ListInsert(2,&e4);
p->ListTraverse();
p->ListInsert(2,&e5);
p->ListTraverse();
p->ListInsert(2,&e6);
p->ListTraverse();
p->ListInsert(2,&e7);
p->ListTraverse();
p->ListInsert(2,&e8);
p->ListTraverse();
p->ListInsert(2,&e9);
p->ListTraverse();
int Elem = 0;
p->ListDelete(3,&Elem);
cout ListTraverse();
cout ListLength() nextElem(&e1, &Elem);
cout priorElem(&e2, &Elem);
cout locateElem(e5) getElem(3,Elem);
cout clearList();
if(p->ListEmpty()){
cout ListTraverse();
delete p;
p = NULL;
}
結果如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4798/viewspace-2799328/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【資料結構】實現順序表(c++)資料結構C++
- 【資料結構】實現順序表(c語言)資料結構C語言
- 資料結構:線性表的順序實現2.2資料結構
- 資料結構 - 雜湊表,三探之程式碼實現資料結構
- 資料結構c語言實現順序表基本操作資料結構C語言
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- 資料結構 - 線性表 - 順序表資料結構
- 【資料結構】堆疊(順序棧、鏈棧)的JAVA程式碼實現資料結構Java
- 考研資料結構-線性表-順序表資料結構
- 資料結構 - 樹,三探之程式碼實現資料結構
- 基礎資料結構(一)---(最全)定長順序表的實現資料結構
- 【資料結構】順序棧的實現(c++)資料結構C++
- 【資料結構】佇列(順序佇列、鏈佇列)的JAVA程式碼實現資料結構佇列Java
- 南郵資料結構實驗1.1 順序表的操作資料結構
- 【資料結構】順序佇列的實現(c++)資料結構佇列C++
- 資料結構_順序表_順序表的初始化、插入、刪除、修改、查詢列印(基於C語言實現)資料結構C語言
- 資料結構與演算法 | 線性表 —— 順序表資料結構演算法
- 第二週 資料計算實現與順序結構程式設計程式(一)程式設計
- 南郵資料結構實驗1.1:順序表的相關操作資料結構
- 【資料結構】二叉樹(順序儲存、鏈式儲存)的JAVA程式碼實現資料結構二叉樹Java
- Java實現順序表Java
- 順序表的實現
- 資料結構中的線性表程式碼實現資料結構
- python演算法與資料結構-順序表(37)Python演算法資料結構
- python實現基本資料結構第二篇(順序棧、鏈棧,順序隊、鏈隊)Python資料結構
- 資料結構 順序棧(c語言)資料結構C語言
- DS順序表--類實現
- 線性表的順序儲存C++程式碼實現C++
- 【資料結構】堆排序和模擬實現優先順序佇列!!資料結構排序佇列
- 順序結構
- 資料結構練習題(順序表和單連結串列)C++資料結構C++
- 資料結構 - 圖之程式碼實現資料結構
- 資料結構初階--二叉樹介紹(基本性質+堆實現順序結構)資料結構二叉樹
- 1.3順序結構程式設計程式設計
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- 資料結構:順序結構和鏈式結構的資料型別定義資料結構資料型別
- 順序表有序插入資料
- 資料結構 - 雜湊表,再探資料結構