線性表 順序儲存C語言實現

2021-10-05 17:01:04 字數 2559 閱讀 7333

定義

線性表是包含有限相同型別元素,除首元素外,其他元素只有乙個唯一前驅元素,除尾元素外,其他元素只有乙個後繼元素的線性結構表。均有2種儲存方式①順序儲存②鏈式儲存

資料結構定義

typedef struct tabletable;
基本操作

table inittable()

t.length=0;

return t;

}

void removetable(table *t)
table addelement(table t,int pos,int val)//t 線性表 pos 索引 val 值

//對於插入前陣列size就和length相等也就是表滿,我們必須動態擴大乙個記憶體單位

if(t.length>=t.size)

t.size++;

} //開始執行插入即將插入以後的元素逐個向後移動一位

if(t.length!=0)

} t.head[pos]=val;

t.length++;

return t;//返回新增後的線性表

}

table delelement(table t,int pos)

//刪除元素後要將刪除位置後面的元素向都向前移動一位並釋放乙個單位的記憶體

int i=pos;

for(;i=t.length)

//讀取元素

return t.head[pos];

}

void printtable(table t)table;

table inittable();

void removetable(table *t);

table addelement(table t,int pos,int val);

table delelement(table t,int pos);

int getelement(table t,int pos);

void printtable(table t);

int indexoftable(table t,int val);

int main()

int val;//值

int pos;//位置

printf("插入值 格式:位置 值 可插入位置範圍:0-%d\n",t.length);

scanf("%d %d",&pos,&val);

t=addelement(t,pos,val);

printtable(t);

printf("刪除值 格式:位置 可刪除位置範圍:0-%d\n",t.length-1);

scanf("%d",&pos);

t=delelement(t,pos);

printtable(t);

printf("獲得指定元素值 格式:位置 可檢視位置範圍:0-%d\n",t.length-1);

scanf("%d",&pos);

printf("索引%d 對應 %d\n",pos,getelement(t,pos));

printf("檢視指定值第一次出現索引 格式:值\n");

scanf("%d",&val);

printf("%d 第一次出現索引%d\n",val,indexoftable(t,val));

removetable(&t);

}table inittable()

t.length=0;

return t;

}void removetable(table *t)

table addelement(table t,int pos,int val)//t 線性表 pos 索引 val 值

//對於插入前陣列size就和length相等也就是表滿,我們必須動態擴大乙個記憶體單位

if(t.length>=t.size)

t.size++;

} //開始執行插入即將插入以後的元素逐個向後移動一位

if(t.length!=0)

} t.head[pos]=val;

t.length++;

return t;//返回新增後的線性表

}table delelement(table t,int pos)

//刪除元素後要將刪除位置後面的元素向都向前移動一位並釋放乙個單位的記憶體

int i=pos;

for(;i=t.length)

//讀取元素

return t.head[pos];

}void printtable(table t)

printf("--------------------\n");

}int indexoftable(table t,int val)

} printf("未發現匹配的值\n");

}

線性表 順序儲存結構 C語言實現

參考 大話資料結構 程杰 部落格 豆瓣 主要包括 列表定義 判斷列表是否為空 初始化列表 列印列表 清空列表 得到第i個位置元素 元素定位 列表第i個元素插入 列表第i個元素刪除 計算列表長度 include include define ok 1 define error 0 define tru...

線性表的順序儲存結構(C語言實現)

最近在研究資料結構,看了好多資料結構方面的書,但好多書都是用的偽 實現,對初學者或者語言功底不深厚的同學來說很不友好,也有好多書說是用c語言實現,但應用了c 的東西,比如c 中的引用,導致 晦澀難懂。學資料結構不能只是看書,一定要將各種結構用 實現,我也將各個部分實現的 貼出來。首先是線性表的順序儲...

線性表順序儲存方式的C語言實現

1 2 編譯器vc6 3檔名1.cpp 4 版本號 1.056 7 include 8 include 9 10 define ok 1 11 define error 0 12 define true 1 13 define false 0 14 define overflow 2 15 defi...