c語言資料結構之順序表靜態鍊錶的建立及功能函式

2021-07-24 08:22:52 字數 1801 閱讀 8673

#include "stdio.h"

#include "stdlib.h"

#define error 0

#define ok 1

#define false 0

#define true 1

#define maxsize 1000

typedef int elemtype ;

typedef int status ;

/建立乙個靜態鍊錶/

typedef

struct

component,staticlinklist[maxsize];

//陣列的第乙個元素和最後乙個元素作為特殊元素處理,不存資料

//未被使用的陣列元素稱為備用鍊錶,陣列的第乙個元素(下標為0的元素)存放第乙個備用鍊錶的下標。

//而陣列最後乙個元素的cur則存放第乙個有數值元素的下標,相當於單鏈表的頭結點

/初始化乙個靜態鍊錶***/

status initstaticlinklist(staticlinklist space)

space[maxsize-1].cur = 0;

return ok ;

}

/若備用空間的鍊錶非空,則返回分配的結點下標給e,否則返回0*****/

status malloc(staticlinklist l,int

*e) *e = i;

return ok ;

}

/返回靜態鍊錶l的長度*/

status lengthlist(staticlinklist l) 

return j;

}

/在靜態鍊錶l中的第i個位置插入元素e****/

status insertlinklist(staticlinklist l,int i,elemtype e)

malloc(l,&ee);//獲取空閒分量的下標

j=ee;

if(j)

l[j].cur = l[k].cur;

l[k].cur = j;

return error;

}}

/釋放記憶體函式/

status free(staticlinklist l,int i)

/把靜態鍊錶l的第i個位置的元素刪掉,並返回給e*******/

status deletelinklist(staticlinklist l,int i,elemtype *e)

for(j = 1;j

<=i-1;++j)

*e = l[i].data ;

j = l[k].cur ;

l[k].cur = l[j].cur;

free(l,j);

return ok;

}

/主函式/

int main()

C語言 資料結構 順序表和煉表

一 線性表 線性表 linear list 是n個具有相同特性的資料元素的有限序列。線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表 鍊錶 棧 佇列 字串 線性表在邏輯上是線性結構,也就說是連續的一條直線。但是在物理結構上並不一定是連續的,線性表在物理上儲存時,通常以陣列和鏈式結構的形式...

C語言資料結構拉練 順序表,鍊錶

資料結構 結構定義 結構操作 include include include 標註擴容操作的顏色巨集 033 32m列印值 033 0m define color a,b 033 b m a 033 0m define green a color a,32 1 陣列指標,2 容量,3 長度 type...

C 資料結構之靜態鍊錶

struct node class slist 1.建構函式 new乙個很大的陣列,輸入n個元素,並把next賦值為下乙個元素的下標 陣列中的所有next都要初始化 在非空表的最後設定結束標誌,next不指向任何下標,賦值為 1,初始化非空表和空閒表的頭指標 slist slist int n fo...