有链表的创建,增加、删除节点,链表的逆序、排序和销毁等。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct tag
{
int m_val;
char m_buf[32];
struct tag* m_next;
}NODE,*pNODE;
void link_init_tail(pNODE* phead);
void link_init_head(pNODE* phead);
void link_show(pNODE phead);
void link_destory(pNODE* phead);
void link_init_sort(pNODE* pphead);
void link_delete(pNODE* phead, int val);
void link_reverse(pNODE* phead);
int main(int argc, char* argv[])
{
int val = 0;
pNODE phead = NULL;
link_init_tail(&phead);
link_show(phead);
//link_init_head(&phead);
//link_init_sort(&phead);
putchar(10);
link_reverse(&phead);
//link_destory(&phead);
link_show(phead);
printf("\n");
while(scanf("%d", &val) == 1)
{
link_delete(&phead, val);
link_show(phead);
printf("\n");
}
system(