順序表的實現,插入,刪除,定位,合併,列印

2021-08-04 03:01:22 字數 922 閱讀 6101

#include#includeusing namespace std;

#define list_init_size 100

#define listincrement 10

#define elemtype int

typedef structsqlist;

//建順序表

void initlist_sq(sqlist &l)

//在第i位置插入元素e

void listinsert_sq(sqlist &l, int i,elemtype e)

int *p, *q;

q = &(l.elem[i - 1]);

for (p = &(l.elem[l.length - 1]); p >= q; --p) //將第i位置及其以後的元素後移乙個位置

*(p + 1) = *p;

*q = e;

++l.length;

}//刪除第i的元素

void listdelete_sq(sqlist &l, int i)

//查詢第i位置元素

void locatedelem_sq(sqlist l, elemtype e)

//合併兩個順序表

void mergelist_sq(sqlist &la,sqlist &lb,sqlist &lc) //la和lb的元素非遞減排列

while (pa <= pa_last) *pc++ = *pa++; //插入la的剩餘元素

while (pb <= pb_last) *pc++ = *pb++; //插入lb的剩餘元素

}//列印順序表

void printl(sqlist &l)

cout << endl;

}void main()

順序表 插入刪除

插入操作 在順序表l的第i 1 i l.length 1 個位置插入新元素e。時間複雜的為o n 刪除操作 刪除順序表l的第i 1 i l.length 個位置的元素,並返回true。時間複雜度為o n include include define initsize 10 using namespa...

資料結構 順序線性表的插入 刪除 合併實現

線性表分為順序線性表和鏈式線性表順序線性表 鏈式線性表 線性表的特點是 存在唯一的乙個被稱做 第乙個 元素的資料元素 存在唯一的乙個被稱做 最後乙個 的資料元素 除第乙個之外,集合中的每個資料元素均只有乙個前驅 除最後乙個之外,集合中每個資料元素均只有乙個後繼 順序表 線性表的順序表示,用一組位址連...

鍊錶的插入刪除合併

typedef int elemtype 定義elemtype為int型別 鍊錶有資料域和指標域 struct lnode typedef lnode linklist 給結構體更名 鍊錶輸出因為建立的鍊錶含有頭結點,所以新設了乙個變數p,使p l next 如果沒有頭結點的話,完全可以不設p vo...