/*
date: 28/04/19 19:01
description: 順序表基本操作
*/#include
#include
#define list_init_size 5
#define increment 10
//自動增長因子
typedef
int elemtype;
typedef
int status;
typedef
struct
//定義資料型別
sqlist;
void
initlist
(sqlist *l)
;void
createlist
(sqlist *l,elemtype a,
int n)
;void
showlist
(sqlist *l)
;status insertlist
(sqlist *l,
int i,elemtype e)
;status deletelist
(sqlist *l,
int i)
;void
(sqlist *l,elemtype e)
;void
invertlist
(sqlist *l)
;int
main()
;createlist
(&l,a,5)
;showlist
(&l)
;printf
("建立的線性表長度為:%d\n"
,l.length)
;printf
("插入元素\n");
insertlist
(&l,2,
10);showlist
(&l)
;printf
("刪除元素\n");
deletelist
(&l,4)
;showlist
(&l);
elemtype e;
printf
("追加元素:");
scanf
("%d"
,&e);(
&l,e)
;showlist
(&l)
;invertlist
(&l)
;showlist
(&l)
;return0;
}/*初始化線性表,使得pbase指向陣列首元素
*/void
initlist
(sqlist *l)
l->length =0;
//預設長度0 }/*
建立線性表
*/void
createlist
(sqlist *l,elemtype a,
int n)
l->length = n;
}void
showlist
(sqlist *l)
printf
("\n");
}/*插入乙個元素
*/ status insertlist
(sqlist *l,
int i,elemtype e)
//i的值從1開始,
if(l->length == l->listsize)
//空間已滿
for(
int j = l->length;j>=i;j--
)//從最後乙個元素開始往後移動乙個元素
l->pbase[i-1]
= e;
l->length ++
;return1;
}/*追加元素
*/void
(sqlist *l,elemtype e)
l->pbase[l->length]
= e;
l->length++;}
/*刪除乙個元素
*/status deletelist
(sqlist *l,
int i)
if(i<
1|| i>l->length)
for(
int j = i;jlength;j++
)//元素向前移
l->length --
;return1;
}/*倒置 */
void
invertlist
(sqlist *l)
int i =0;
//定義兩個變數 乙個從頭開始加,乙個從最後開始減
int j = l->length-1;
elemtype temp;
while
(i}
順序表的基本操作 順序表基本操作上機實驗
理解線性結構的基本概念,掌握兩種基本的儲存結構 順序儲存結構 順序表 和鏈式儲存結構 單鏈表 用c語言實現在兩種儲存結構上的對應操作 包括建立 刪除插入元素 遍歷等 鞏固強化c程式設計的基本方法和能力。完成順序表的建立 元素刪除 遍歷等操作,具體內容如下 有序的一組整數 1,2,3,4,6 設計順序...
靜態順序表順序表的基本操作
一般採用陣列表示順序表,陣列有靜態陣列和動態陣列之分,在此我們採用靜態陣列表示靜態順序表,如圖為線性表的結構 下面實現順序表的基本操作 初始化 銷毀 尾插 頭插 尾刪 頭刪 根據指定元素刪除 指定位置插入和刪除 查詢 靜態順序表的結構定義 define maxsize 100 typedef int...
順序表的基本操作
include include include define error 1 define ok 1 typedef int status typedef int lelemtype typedef struct lnode lnode,linklist status creatlinklist l...