嘗試用鍊錶代替陣列來完成乙個簡易的系統設計,不過一開始沒構思好,乾脆用了單向鍊錶加雙向鍊錶,稍顯有點麻煩。
void show_main_menu()
首先列印主介面,實現如上功能,增刪查詢和排序。
typedef char s;
typedef struct snodesnode;
typedef struct snode * slink;
typedef struct peoplet;
typedef struct dnodednode;
typedef struct dlinknodedlinknode;
typedef dlinknode *dlink;
雙向鍊錶記錄人員結構體,人員結構體內用單向鍊錶記錄資料。
此函式用來讀入資料。
void slink_scanf(slink link)
}
排序函式
void sort(dlink dlink,int pos,int(*comp)(void*,void*))
} }}
顯示結構體函式和清除結構體函式
void show1(t data)
void clear(t data)
查詢鍊錶判斷函式
int same_node(snode *node1,snode *node2)
return node1->data-node2->data;
}int search_name(snode *node)
} return -1;
}void find_by_name()
dnode *dnode=dlink_get_prev_dnode(dlinkdata,ret+1);
show1(dnode->data);
}
c語言實現的棧 鍊錶 陣列
1.陣列實現的棧 include include include define maxsize 5 陣列實現的棧,缺點,容量固定 typedef structstack stack s 入棧,成功返回1,否則0 int push int e else return rt 初始化棧 int clear...
鍊錶的C語言實現
編輯 c巨集例項 以下 摘自linux核心2.6.21.5原始碼 部分 展示了鍊錶的另一種實現思路,未採用ansi c標準,採用gnu c標準,遵從gpl版權許可。struct list head define list head init name define list head name st...
雙向鍊錶C語言實現
ifndef stdlist h define stdlist h typedef struct tagstdnode stdnode,lpstdnode typedef struct tagstdlist stdlist,lpstdlist 鍊錶資料結構 struct tagstdnode 鍊錶節...