#include <stdio.h> #include <stdlib.h> #define N 5; /*N 假定数组长度为5*/ typedef struct snode { int data; struct snode *next; } SNODE; /*第一步,添加链表头信息*/ SNODE *createhead(int a[]) { SNODE *h,*p,*q; /*q为上一节点,p为当前节点*/ int i; q=(SNODE *)malloc(sizeof(SNODE)); h=q; for(i=0;i<5;i++) { p=(SNODE *)malloc(sizeof(SNODE)); p->data = a[i]; q->next=p; q=p; } q->next=0; return h; } /*第二步打印链表中的元素*/ void showstars(SNODE *h) { SNODE *p; p=h->next; while(p) { printf("%d\n",p->data); p=p->next; } } /*第三步删除/回收节点*/ void revokeresource(SNODE *h) { SNODE *p,*q; p=h->next; while(p) { q=p->next; printf("哦,no~~~%d被回收了\n",p->data); free(p); p=q; } free(h); } void main() { int saiwa[5]={1,2,3,4,5}; SNODE *head; head=createhead(saiwa); showstars(head); revokeresource(head); }
粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构
猜你喜欢
转载自www.cnblogs.com/saintdingspage/p/11231302.html
今日推荐
周排行