数据结构学习笔记(二)

 

今天看链表创建和链表遍历算法的演示,自己有照猫画虎写了一遍,遇到了1个错误,丢给M,还是他牛啊,火眼金睛一下就看出来了,贴出来,与大家分享

#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef struct Node
{
 int data; //数据域
 struct Node * pNext; //指针域
}NODE,* PNODE; //NODE等价于struct Node NODE,pNODE等价于struct Node *

PNODE create_list(void);
void traverse_list(PNODE pHead);


void main()
{
 PNODE pHead = NULL; //等价于struct Node * pHead = NULL
 pHead = create_list(); //创建一个非循环链表,并将该链表的头地址赋给pHead
 traverse_list(pHead);
}
PNODE create_list(void)
{
 int len;
 int i;
 int val; //用来临时存放用户输入的结点的值
 PNODE pHead = (PNODE)malloc(sizeof(NODE));
 if (NULL == pHead)
 {
  printf("分配失败,程序终止!\n");
  exit(-1);
 }
 PNODE pTail = pHead;
 pTail->pNext = NULL;
 printf("请输入您需要生成的链表节点个数:len:");
 scanf("%d",&len);
 for(i=0;i<len;len++)
 {
  printf("请输入第%d个链表节点的值",i+1);
  scanf("%d",&val);
  PNODE pNew = (PNODE)malloc(sizeof(NODE));
  if (NULL == pHead)
  {
  printf("分配失败,程序终止!\n");
  exit(-1);
  }
  pNew->data = val;
  pTail->pNext = pNew;
  pNew->pNext = NULL;
  pTail = pNew;
 }
 return pHead;
}
void traverse_list(PNODE pHead)
{
 PNODE p = pHead->pNext;
 while (NULL != p)
 {
  printf("%d    ",p->data);
  p = p->pNext;
  printf("\n");
 }
 return;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值