#include#includetypedef int elementtype;
typedef int boolean;
#define true 1;
#define false 0;
typedef struct linklinklist;
//建立乙個節點
//引數可以指定節點的資料
linklist * create(elementtype a)
//初始化鍊錶
//建立頭節點
linklist * init()
//獲取鍊錶最後乙個節點
linklist * getlast(linklist * list)
return f;
}//獲取鍊錶任意位置的節點
//位置從0開始 0為頭節點
linklist * get(linklist * list,int i)
if(i == 0)
while(f->next)
}return null;
}//新增節點到鍊錶尾
boolean add(linklist * list,elementtype i)
//判斷當前鍊錶是否為空
boolean isempty(linklist * list)
//移除指定位置的節點
// 引數 i 指定移除節點的位置 i為 1 移除第乙個節點
boolean remove(linklist * list,elementtype i)
if(i>list->data)
parent = get(list,i-1);
if(parent)
return false;
}//更新指定節點的值
boolean update(linklist * list,int data,int i)
return false;
}//指定位置插入節點
boolean insert(linklist * list,linklist * element,int i)
ele = parent->next;
parent->next = element;
element->next = ele;
list->data++;
return true;
}int main()
//在鍊錶尾部新增乙個節點
add(header,70);
//在第乙個位置上插入乙個節點,該節點的資料域值為12
insert(header,create(12),1);
//更新鍊錶第二個節點的資料域的值為77
update(header,77,2);
//新增節點後檢視鍊錶是否為空
printf("當前鍊錶是否為空:%d\n\n\n",isempty(header));
//鍊錶對頭結點的資料域進行維護,用來表示當前鍊錶的節點個數
printf("當前鍊錶的節點個數:%d\n",header->data);
//遍歷鍊錶的每乙個節點
while(f->next)
return 0;
}
C語言實現資料結構 順序表,單鏈表
線性表分為 順序儲存結構和連儲存結構 順序儲存結構的優點 1.空間利用率高,幾乎不需要額外的空間開銷.2.資料的邏輯結構和物理結構完全一致.3.結點位址計算的時間和線性表的規模大小無關.4.可以用一維陣列實現儲存.但是有兩個缺點 1.順序儲存結構的儲存空間是靜態分配,必須有足夠大的連續儲存空間,如果...
資料結構 線性表 單鏈表C語言實現
單鏈表的練習 include stdlib.h include stdio.h void printlinklist struct node h 單鏈表資料結構 typedef struct node lnode,linklist 建立鍊錶 帶頭結點 linklist createlinklist ...
資料結構 單鏈表c語言實現
list.h如下 ifndef list h define list h typedef struct node node,list void initlist list list bool insert head list list,int val bool insert tail list li...