#include #define false 0
#define true 1
#define maxsize 20
typedef int bool;
typedef int elementtype;
struct listnode ;
typedef struct listnode list;
typedef struct listnode *ptrtolist; // 後續函式傳參, 傳的就是指標
ptrtolist makeempty (); // 建立空線性表
bool insert (ptrtolist l, elementtype x, int pos); // 插入
void printnodes (ptrtolist l); // 列印
int find (ptrtolist l, elementtype x); // 查詢
bool delete (ptrtolist l, int pos); // 刪除
int main ()
// 1. 初始化
// 申請乙個list需要的空間, 返回乙個指向ptrtolist的指標
ptrtolist makeempty ()
// 2. 插入
// pos的合法位置是 0 ~ l->length
// 例如 pos=0, 則代表所有元素都向右移動一格, 把陣列0下標空
// 出來, 執行, l->data[0] = x;
// 成功返回true, 失敗返回false
bool insert (ptrtolist l, elementtype x, int pos)
if (pos < 0 || pos > l->length)
for (i=l->length; i>=pos+1; i--)
l->data[pos] = x;
l->length += 1;
return true;
}// 3. 列印輸出
void printnodes (ptrtolist l)
printf("\n");
}// 4. 查詢
// 找到返回位置下標, 找不到返回 -1
int find (ptrtolist l, elementtype x)
}return -1;
}// 5. 刪除
// 刪除指定位置pos的元素
// pos取值範圍, [0, l->length-1]
bool delete (ptrtolist l, int pos)
for (i=pos; i<=l->length; i++)
l->length--;
return true;
}
C語言線性表的實現
define ok 1 define error 0 define true 1 define false 0 include include 線性鍊錶的實現 adt 線性表 list data operation creatlist l 初始化操作,建立乙個空的線性鍊錶l。listempty l ...
線性表c語言實現
lineartable.h pragma once 線性表的實現 define maxsize 20 define ok 1 define error 2 typedef struct list list t 線性表初始化 void initlist list t list 根據下表查詢資料 int...
C語言實現線性表
include include define maxsize 100 定義線性表最大長度 定義順序表 typedef struct seqlist 初始化順序表 void initlist seqlist l 建立順序表 intcreatlist seqlist l,int a,int n for ...