链表-模拟栈和队列
来源:互联网 发布:qt creator是什么软件 编辑:程序博客网 时间:2024/05/22 13:43
#include <stdio.h>
#include <stdlib.h>
#include "string.h"
/***欢迎入群:157996131(攻程师)*主攻*C*Object-C*Swift*IOS***/
typedef struct node{
int data;
structnode* prev;
structnode* next;
}node_t,*pnode_t;
int main(){
pnode_t pflag =NULL;
pnode_t pnew =NULL;
pnode_t firstp =NULL;
pnode_t lastp =NULL;
int count =0;
printf("录入数据的顺序为:\n");
for (; count<10; count++) {
pnew = (pnode_t)malloc(sizeof(node_t));
if(count==0){
//使用firstp记录第一个“排队”的节点的地址,
firstp = pnew;
pflag = pnew;
pnew->data = count+1;
}
else{
//使用上一个节点(firstp)的prev指针记录当前节点的地址
firstp->prev = pnew;
pnew->data = count+1;
firstp = pnew;
}
//使用lastp记录当前节点的地址,实际到最后记录的是
//最后一个节点的地址,next记录下一个节点的地址
pnew->next = lastp;
lastp = pnew;
printf("%d ",count+1);
}
printf("\n队列:先进先出:\n");
for (count =0; count<10; count++) {
printf("%d ",pflag->data);
pflag = pflag->prev;
}
printf("\n栈:先进后出:\n");
for (count =0; count<10; count++) {
printf("%d ",lastp->data);
lastp = lastp->next;
}
printf("\n");
return0;
/*
输出结果:
录入数据的顺序为:
1 2 3 4 5 6 7 8 9 10
队列:先进先出:
1 2 3 4 5 6 7 8 9 10
栈:先进后出:
10 9 8 7 6 5 4 3 2 1
Program ended with exit code: 0
*/
}
- 链表-模拟栈和队列
- 队列模拟栈和栈模拟队列
- Python模拟栈 和 队列
- 数组模拟队列和栈
- LinkedList模拟栈和队列
- java笔试题--模拟栈和队列
- 栈和队列的相互模拟
- 栈和队列的相互模拟
- js Array function--模拟栈和队列
- java用LinkedList模拟栈和队列
- [Python] 用list模拟栈和队列
- 栈和队列,以及模拟实现
- (C++)栈和队列的模拟实现
- 模拟容器适配器栈和队列
- 模拟实现容器适配器栈和队列
- 栈和队列及模拟实现
- 栈模拟队列 队列模拟栈
- 栈模拟队列、队列模拟栈
- servlet中 HTTP method GET is not supported by this URL解决方法
- Web压力测试工具Siege安装
- gridview增加自动序号列
- 内存缓存
- 关于获取jquery ajax方法返回值参数的问题
- 链表-模拟栈和队列
- Android 2.3系统上对FrameLayout设置margin导致显示错乱
- C语言fwrite函数了解
- android积木思想
- VO and PO
- 导致java.lang.OutOfMemoryError 问题的原因以及处理方式
- Linux vmstat命令实战详解
- const变量
- 视图控制器的生命周期