// ConsoleApplication1.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
struct Node {
int data;
Node *next;
} *head, *tail, *LinkListHead, *LinkListTail;
//创建单链表,头插法法
Node *CreateLinkListByHead(int n) {
Node *p;
LinkListHead = new Node;
LinkListHead->next = NULL;
head = LinkListHead;
for (auto i = 0; i < n; i++) {
p = new Node;
p->data = i;
p->next = LinkListHead->next;
LinkListHead->next = p;
}
std::cout << "头插法创建的单链表" << std::endl;
return head;
}
//创建单链表,尾插法
Node *CreateLinkListByTail(int n) {
Node *p;
LinkListTail = new Node;
LinkListTail->next = NULL;
tail = LinkListTail;
Node *temp = LinkListTail;
for (auto i = 0; i < n; i++) {
p = new Node;
p->data = i;
temp->next = p;
temp = p;
}
temp->next = NULL;
std::cout << "尾插法创建的单链表" << std::endl;
return tail;
}
//遍历链表
void ForeachLinkList(Node *head)
{
Node *p = head->next;
while (p != NULL)
{
std::cout << p->data << " ";
p = p->next;
}
std::cout << "遍历完成";
std::cout << "\n";
}
void DeleteLinkList(Node *head) {
Node *p = head->next;
Node *temp;
while (p) {
temp = p->next;
delete p;
p = temp;
}
head->next = NULL;
}
int main()
{
Node *LinkListHead = CreateLinkListByHead(10);
ForeachLinkList(LinkListHead);
Node *LinkListTail = CreateLinkListByTail(10);
ForeachLinkList(LinkListTail);
DeleteLinkList(LinkListHead);
std::cout << "执行删除操作之后遍历链表" << std::endl;
ForeachLinkList(LinkListHead);
return 0;
}
c++头插法和尾插法创建、删除、遍历单链表.zip
27 浏览量
2024-04-17
11:00:05
上传
评论
收藏 5KB ZIP 举报
小码蚁.
- 粉丝: 2520
- 资源: 4057
最新资源
- CISCN2024-re3-rust-baby(Frida多字节程序插桩爆破)
- soft:磁盘清理工具
- .netcore控制台使用Nssm打包windows服务,加winform管理服务界面
- db-college.sql
- wpf-dragdrop-treeview(WPF较好拖拽效果).7z
- img-1716258776282bf88540b0e387ddd2ea677d02c7f3594ad72383f796d86b02fb7d2ae2543915d.jpg
- 《伦敦共享单车数据分析与代码》
- SKIP-v2.1.1.apk
- IMG20240521103815.jpg
- 松下A4系列伺服参数调试软件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈