#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...