当前位置:网站首页>指针链表
指针链表
2022-06-28 03:15:00 【我已经怒不可遏了!】
指针链表
先进先出链表
把p指针指向L的头指针,然后创建q指针的空间,进行赋值,再把p指针的下一位取q,再然后把p指针后移,最后结束的时候加一个p->next=NULL;
#include<bits/stdc++.h>
#define bug(a) (cout<<'*'<<a<<endl)
using namespace std;
typedef struct node
{
int data;
node* next;
}*linklist;
void create(linklist& L, int n)
{
linklist p, q;
int num;
L = (linklist)malloc(sizeof(node));
p = L;
while (n--)
{
q = (linklist)malloc(sizeof(node));
scanf("%d", &num);
q->data = num;
p->next = q;
p = p->next;
}
p->next = NULL;
}
void print(linklist L)
{
L = L->next;
while (L)
{
printf("%d", L->data);
if (L->next != NULL)
printf(" -> ");
L = L->next;
}
printf("\n");
}
int main()
{
linklist l;
printf("请输入要创建的节点个数\n");
int n, num;
scanf("%d", &n);
printf("请依次输入节点的值\n");
create(l, n);
print(l);
return 0;
}
先进后出的链表指针
先进后出链表则相反,先取p=NULL;然后给q创空间给值,再令q->next=p;一直道第一个,想当于倒着来。
在这里插#include<bits/stdc++.h>
#define bug(a) (cout<<'*'<<a<<endl)
using namespace std;
typedef struct node
{
int data;
node* next;
}*linklist;
void create(linklist& L, int n)
{
linklist p, q;
p = NULL;
int num;
while (n--)
{
q = (linklist)malloc(sizeof(node));
scanf("%d", &num);
q->data = num;
q->next = p;
p = q;//从后往前输
}
L = (linklist)malloc(sizeof(node));
L->next = p;
}
void print(linklist L)
{
L = L->next;
while (L)
{
printf("%d", L->data);
if (L->next != NULL)
printf(" -> ");
L = L->next;
}
printf("\n");
}
int main()
{
linklist l;
printf("请输入要创建的节点个数(先进后出)\n");
int n, num;
scanf("%d", &n);
printf("请依次输入节点的值\n");
create(l, n);
print(l);
return 0;
}
边栏推荐
猜你喜欢
随机推荐
黑體輻射初探
Sublime Text 3 基本配置教程
vscode中出现无法在只读编辑器中编辑
电子地图坐标系统研究整理
MySQL 数据库的自动备份操作
数字有为,易步到位 华为携“5极”明星产品加速布局商业市场
音频 scipy 中 spectrogram 的运作机制
多线程与高并发六:线程池源码解析
力扣每日一题-第29天-575.分糖果
WPF 下的自定义控件以及 Grid 中控件的自适应
使用信号分析器
Automatic backup of MySQL database
applicationContext.getBeansOfType 获取一个接口下所有实现类 执行方法或者获取实现类对象等 操作应用场景学习总结
一文告诉你什么是 Kubernetes
数据库
学习---有用的资源
Web APIs DOM-事件基础丨黑马程序员
友链须知
PyCharm设置仿sublime配色方案
What is the core problem to be solved in the East and West?









