作业介绍

C4.07 单向链表

课堂内容:单向链表创建、遍历查找、修改、增加、删除

image

image

image

image

image

image

单向链表的创建与输出_参考代码

#include<bits/stdc++.h>  
using namespace std;

// 定义节点结构体  
struct Node  
{  
	int data;  
	Node *next;  
};  

int main()  
{  
	Node *head,*r,*p;  
	// 初始化链表  
	head=new Node; // 创建链表头指针(head),并为其分配内存  
	head->next=NULL; // 初始化头指针的 next为 NULL,表示链表为空  
	r=head; // r 指针初始指向头节点,用于后续添加新节点  
  
	int n;  
	cin>>n;  
	for(int i=1;i<=n;i++) // 遍历 n 次,创建 n 个节点  
	{  
		p=new Node; // 为新节点分配内存  
		cin>>p->data; // 输入新节点的值  
		p->next=NULL; // 初始化新节点的 next为 NULL  
		r->next=p; // 将r指针的 next 指向新节点 p  
		r=p; // 更新 r 指针,使其指向新节点 p  
	}  
  
	// 此处将链表的尾部与头部相连,形成循环链表  
	p->next=head; // 注意这里 p 已经是最后一个节点了,因此 p->next 指向 head  
  
	p=head->next; // p 重新指向链表的第一个节点  
	// 遍历链表并输出每个节点的值,注意这里由于形成了循环链表,需要判断p!=head来防止无限循环  
	while(p!=head) // 节点 next 不为 head 时表示没到链表尾  
	{  
		cout<<p->data<<" "; // 输出当前节点的数据值  
		p=p->next; // 移动到下一个节点  
	}
	return 0;  
}

题目

认领作业后才可以查看作业内容。
状态
正在进行…
题目
4
开始时间
2024-1-1 0:00
截止时间
2099-12-31 23:59
可延期
0 小时