首页 > 编程语言 > 详细

粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构

时间:2019-07-23 14:23:37      阅读:95      评论:0      收藏:0      [点我收藏+]
#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语言自学笔记-----实现一个链表结构

原文:https://www.cnblogs.com/saintdingspage/p/11231302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!