?? test.c
字號:
#include <stdio.h>#include <string.h>#include "link.h"C_CLASS LINKLIST list;typedef struct { char sno[7];
char sname[32]; int age; }STU;STU stu[3]={ {"001","張三",20}, {"002","李四",22}, {"003","王五",21}};int condition_sno(void * data,char *sno){
STU * stu;
stu=(STU *)data; if (strcmp(stu->sno,sno)==0) { return 0; } else return 1;}int main(){ int i; NODE* n=NULL; STU* s=NULL; int index; link_init(&list); for (i=0; i<sizeof(stu)/sizeof(STU); i++) { list.insert_rear(&list,(void *)&stu[i],sizeof(STU)); } printf("學(xué)生信息表\n"); for (i=1; i<=list.count; i++) { n=list.get_node_by_index(&list,i); if (n!=NULL) { s=(STU*)n->data; } if (s!=NULL) { printf("SNO=%s\tSNAME=%s\tSAGE=%d\n",s->sno,s->sname,s->age); } } printf("\n"); n=list.get_node_by_key(&list,"002",(int (*)(void*,void*))condition_sno); if (n!=NULL) { s = (STU*)n->data; } printf("SNO=002學(xué)生信息\n"); if (s!=NULL) { printf("SNO=%s\tSNAME=%s\tSAGE=%d\n",s->sno,s->sname,s->age); } printf("\n"); index=list.get_index_by_key(&list,"004",(int (*)(void*,void*))condition_sno); printf("SNO=002學(xué)生信息下標(biāo): %d\n",index); printf("\n"); list.delete_node_by_key(&list,"002",(int (*)(void*,void*))condition_sno); printf("刪除SNO=2號學(xué)生后學(xué)生信息表\n"); for (i=1; i<=list.count; i++) { n=list.get_node_by_index(&list,i); if (n!=NULL) { s=(STU*)n->data; } if (s!=NULL) { printf("SNO=%s\tSNAME=%s\tSAGE=%d\n",s->sno,s->sname,s->age); } } printf("\n"); list.del(&list); printf("刪除鏈表結(jié)點(diǎn)但不刪除頭結(jié)點(diǎn)后鏈表個數(shù):%d\n",list.count); printf("頭結(jié)點(diǎn)的地址=%d\n",list.head); printf("\n"); list.clear(&list); printf("清除鏈表結(jié)點(diǎn)后鏈表個數(shù):%d\n",list.count); printf("頭結(jié)點(diǎn)的地址=%d\n",list.head); return 0;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -