?? list.c
字號:
#include "list.h"#include <stdio.h>#include <malloc.h>#include <stdlib.h>//---------------search list------------------Slist *createslist(void){ Slist *sl; sl = malloc(sizeof(Slist)); sl->head = NULL; return sl;}void addsnode(Slist *sl, Node *node){ Snode *temp; Snode *snode; snode = malloc(sizeof(Snode)); snode->node = node; snode->next = NULL; if(sl->head == NULL) sl->head = snode; else { temp = sl->head; while(temp->next) { temp = temp->next; } temp->next = snode; }}void destoryslist(Slist *sl){ free(sl);}void printsnode(Slist *l, Print printdata){ Snode *temp; temp = l->head; while(temp != NULL) { printdata(temp->node); temp = temp->next; }}//---------------end search list------------------List *createlist(void){ List *l; l = malloc(sizeof(List)); l->head = NULL; return l;}void addnode(List *l, Node *datanode){ datanode->next = NULL; Node *temp; temp = l->head; if(l->head == NULL) { l->head = datanode; } else { while(temp->next != NULL) { temp = temp->next; } temp->next = datanode; }}void printnode(List *l, Print printdata){ Node *temp; temp = l->head; while(temp != NULL) { printdata(temp); temp = temp->next; }}void delnode(List *l, Cond con, Deldata del, int b){ Node *temp; Node *delbak; temp = l->head; while(temp->next) { if(con(temp->next, b)) { delbak = temp->next; temp->next = temp->next->next; del(delbak); } else temp = temp->next; } if(con(l->head, b)) { delbak = l->head; l->head = l->head->next; del(delbak); } }Slist *searchnode(List *l, Cond con, int b){ Slist *tl; tl = createslist(); Node *temp; temp = l->head; if(con(l->head, b)) { addsnode(tl, l->head); } while(temp->next) { if(con(temp->next, b)) { addsnode(tl, temp->next); } temp = temp->next; } return tl;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -