如何用C++创建一个单链表并打印

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

链表是算法中基础的数据结构,但实际我们从课本学到的或者算法题中遇到的都是对链表中的一部分进行编程,因此,在完整的创建一个链表时,总是会遇到问题。下面我将自己对单链表的创建的一些思路做以分享,希望自己能加深对链表创建的巩固,也希望能帮助到大家。

一、链表是什么?

首先,链表和顺序表一样都属于线性结构,它是通过指针串联起来的。链表由多个独立的节点组成,每个结点包括数据域和指针域两个部分,每个节点的指针域存放的是下一个节点的地址。链接的入口点成为头节点,也就是Head。最后一个节点的指针域指向NULL;
链表主要分为三种类型:
单链表
双链表
循环链表

二、链表的创建

1.创建链表的步骤

1.构建节点
struct node{
int data;
node* next;};(注意分号不能遗漏)
当创建号节点后,如果觉得struct node名字过长,我们可以使用typedef对其进行修改,具体如下:
typedef struct node{
int data;
node* next;}newname;
2.生成头节点
3.生成普通节点(当需要创建多个普通节点时,可采用for循环)
4.输入数据
5.创建链表关系

2.链表创建的完整代码如下

#include< iostream >
using namespace std;
//构建节点
typedef struct node{
int data;
struct node* next;
}name;
//创建长度为n的链表
name* creatlist(int n)
{
//生成头节点
name* head=new name(0);
//生成普通节点
name* pre=new name;
for(int i(0);i<n;i++)
{
name* p=new name;
//输入数据
cout<<“请输入所需创建的数据”<<endl;
cin>>data;
//创建链表关系
pre->next=p;
pre=p;
p->next=NULL;
}
return head;
}
//链表的打印
void printflist(name* head,int n)
{
name* cur=head->next;
for(int i(0);i<n;i++)
{
cout<< cur->data <<endl;
cur=cur->next
}
}
//主函数的编写
int main()
{ int n;
cout<<”请输入n"<<endl;
cin>>n;
name* head=creatlist(n);
printflist(head,n);
system(“pause”);
return 0;
}

总结

对创建链表以及打印链表、主函数的调用进行书写,是一个完整的链表生成打印过程。
/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值