#include#define true 1
#define false 0
#define ok 1
#define error 0
#define overflow -1
#define listinicialsize 100
#define listincrease 10
typedef int elemtype;
typedef int status;
typedef struct sq_list sqlist;
//建立順序表
//結構初始化與銷毀操作
status initlist_sq(sqlist &l)
//清空順序表
status listclear_sq(sqlist &l)
//銷毀順序表
status destroylist_sq(sqlist &l)
//表容量增加
void listincrease_sq(sqlist &l)
//線性表輸入
void listinput_sq(sqlist &l)
for (int i = 1; i <= len; i++)
l.listlength = len;
}//線性表插入元素
status listinsert_sq(sqlist &l,int i, elemtype e)
elemtype *q=&l.elem[i-1],*p=&l.elem[l.length-1];
while(p>=q) //插入位置後的元素右移
*q=e;
++l.length; //表長加
return ok;
}//listinsert_sq
//線性表刪除元素
status listdelete_sq(sqlist &l, int pos, elemtype &e)
l.listlength--;
return ok;
}//根據指定位置,獲取相應位置資料元素的內容
status getelem(sqlist l,int i,elemtype &e)
//檢索值為e的資料元素
status locateelem(sqlist l,elemtype e)
//線性表改值
status listsetval_sq(sqlist &l, int pos, elemtype e)
//線性表逆序
void listreverse_sq(sqlist &l)
}//線性表元素排序 (<)
void listsort_sq(sqlist &l)
*(l.elem + j) = t;
}}//線性表鎖定元素位置
int listlocate_sq(sqlist &l, elemtype e)
return 0;
}//判斷表空
status isempty_sq(sqlist &l)
int listlength_sq(sqlist l)
//如下函式用於元素定位時大小的比較
status smallequal(elemtype e1,elemtype e2)
//線性表查詢元素個數
int listcount_sq(sqlist &l, elemtype e)
return cnt;
}//返回表長
int listlength_sq(sqlist &l)
//返回表容量
int listsize_sq(sqlist &l)
//線性表遍歷輸出
void listprint_sq(sqlist &l)
cout << endl;
}status printlist_sq(sqlist l)
else
printf("\n\n");
return ok;
}}
順序表的基本操作 順序表基本操作上機實驗
理解線性結構的基本概念,掌握兩種基本的儲存結構 順序儲存結構 順序表 和鏈式儲存結構 單鏈表 用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...