順序表
靜態順序表:使用定長陣列儲存。
動態順序表:使用動態開闢的陣列儲存。
每一種資料結構說到底都逃不過增刪改查,相對而言順序表的相關操作比較簡單,話不多說,咱們直接上**。
#includeusing namespace std;
//順序表的定義
typedef struct seqlist
seqlist;
//順序表的初始化
void seqlistinit(seqlist* p,int capacity)
}//列印順序表的內容
void printseqlist(seqlist* p)
cout << endl;
}//順序表的銷毀
void destoryseqlist(seqlist* p)
}//擴容
void checkseqlistcapacity(seqlist* p)
//頭插入
void seqlistinsertfront(seqlist* p,int value)
if (p->size == p->capacity)
for (int i = p->size - 1; i >= 0; i--)
p->array[0] = value;
p->size++;
}//尾插入
void seqlistinsertback(seqlist* p, int value)
p->array[p->size] = value;
p->size++;
}//中間插入資料
void seqlistinsertmid(seqlist* p, int value,int pos)
for (int i = p->size - 1; i >= pos; i--)
p->array[pos] = value;
p->size++;
}//頭刪除
void seqlistdelfront(seqlist* p)
for (int i = 1; i < p->size; i++)
p->size--;
}//尾刪除
void seqlistdelback(seqlist* p)
p->size--;
}//中間刪除
void seqlistdelmid(seqlist* p,int pos)
for (int i = pos; i < p->size; i++)
p->size--;
}//修改順序表元素內容
void seqlistmodify(seqlist* p, int pos, int value)
p->array[pos] = value;
}//查詢
bool seqlistfind(seqlist* p, int value)
for (int i = 0; i < p->size; i++) }
return false;
}int main()
注:其實順序表的操作並不是很難,當我們要是實在想不通時,不妨動手去畫一畫,有了圖我們才能更好的去理解。在此我還要說一點,就是順序表中資料連續,具有隨機訪問能力,所以在訪問資料時很快,但同時因為資料連續,在我們進行增刪的時候就比較費時了,總體來說,對於我們初學者來說,學好順序表我們才能夠繼續學習相對複雜的資料結構。 順序表的相關操作
include include include struct arr void init arr struct arr parr,int length bool insert arr struct arr parr,int pos,int pval bool delete arr struct ar...
順序表的相關操作
public class ds3 0723 増 尾插 public void pushback int element 頭插 public void pushfront int element a 0 element size 中間插入 時間複雜度為o n public void insert in...
靜態順序表的相關操作
話不多說,直接看 include typedef int datatype define max size 10 typedef struct seqlist seqlist,pseqlist typedef struct seqlist pseqlist void seqlistinit pseq...