天天看点

C++入门链表怎么写

#include"stdio.h"
/*
	链表是线性表的链式存储
	链表由一个一个结点组成
	每一个节点分为指针域和数据域
	指针域有一个的叫单链表 ,有两个叫双链表,三个及三个以上的叫多链表
	
	结点的单词叫“node”
	struct node{
		int data;//数据域存储数据; 
		struct node *next; //指针域,指向下一个节点的地址 
	}
	
	分配空间用malloc   
	释放空间用free
	计算字节大小sizeof
	
	创建链表三步骤
	1:先给结点申请空间
	2:给该结点赋值(数据域赋值) 
	3:将新结点连接到链表上 
*/
struct node{
	int data;
	struct node *next;//因为next是一个要指向下一个数据域的指针所以类型为 struct node
}; 
void main()
{
	int j;
	struct node *head;//头结点 决定后续输出时的首个地址 
	struct node *q;//用q来不断地创建新的空间 
	struct node *s;//负责连接 
	struct node *shuchu;//负责输出 
	for(j=0;j<5;j++)
	{
		q=(struct node *)malloc(sizeof(struct node)); 
		printf("第%d个:",j+1);
		scanf("%d",&q->data);
		q->next=NULL;
		if(j==0)
		{
			head=q;//输出时备用  可以看作时首地址 
			s=q;
		}
		else
		{
			s->next=q;
			s=q;
		} 
	} 
	shuchu=head;
	for(j=0;j<5;j++)
	{
		printf("%d",shuchu->data);
		shuchu=shuchu->next;
	}
}

           

继续阅读