
数据结构之栈与队列
发布日期:2021-05-07 15:59:02
浏览次数:21
分类:技术文章
本文共 1162 字,大约阅读时间需要 3 分钟。
//顺序栈存储结构#define Stack_Size 50typedef struct{ type elem[Stack_Size]; int top;//栈顶元素的下标 }Stack; //顺序栈初始化void InitStack(Stack *S){ S->top=-1;} //顺序进栈int Push(Stack *S,Type x){ //判满 if(S->top==Stack_Size-1) return(FLASE); S->tp++; S->elem[S->top]=x; return (TRUE);} //顺序栈出栈int pop(Stack *S,Type *x){ //栈顶元素弹出, x带出 //判空 if(S->top==-1) return(FLASE); *x=S->elem[S->top]; S->top--; return (TURE); }//链栈存储结构typedef struct node{ Type data; struct node *next;}Node,*List; //链栈进栈 void InitList(List L){ top=L; top->next==NULL;}int push(List *L,Type x){ //申请新的空间 List *t; t=(List *)malloc(sizeof(Node)); if(t==NULL)return(FLASE);//申请空间失败 t->data=x; t->next=top->next; top->next=t; return(TURE); }//链栈出栈 int pop(List L,Type *x){ List t; t=top->next; //判空 if(t==NULL)return(FLASE); top->next=t;//要删除的点 *x=t->data;//指针x带出 free(t);//释放指针 return (TRUE); }/*算法3.17 链队列插入算法将数据元素X插入到队列中Q */int EnterQueue(LinkQueue *Q,QueueElementType x){ LinkQueueNode * NewNode; NewNode=(LinkQueueNode *)malloc(sizeof(LinkQueueNode)); if(NewNode!=NULL){ NewNode->data=x; NewNode->next=NULL; Q->rear->next=NewNode;//原尾指针 Q->rear=NewNode;//修改尾指针 return (TRUE); } else return(FALSE);}
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月06日 11时29分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Lionheart万汇:布林线双底形态分析技巧
2021-05-08
Lionheart万汇:台积电大幅提升资本开支,2021有望续创辉煌
2021-05-08
Lionheart万汇:新年消费结构中贵金属交易机会
2021-05-08
LHCM万汇:在需求上升中,美国贸易赤字创下历史新高
2021-05-08
Python数据处理笔记01--numpy数组操作
2021-05-08
大力出奇迹之js文件爆破
2021-05-08
jsp技术入门
2021-05-08
线程同步机制和三个线程不安全例子
2021-05-08
Mybatis的入门01
2021-05-08
开发者社区公告【MW移动端钱包】开发公示
2021-05-08
Vue01常见指令,axios
2021-05-08
Vue路由嵌套刷新后页面没有重新渲染
2021-05-08
Vue使用bus进行组件间、父子路由间通信
2021-05-08
数据库三个级别封锁协议
2021-05-08
操作系统:缓冲技术的相关介绍
2021-05-08
函数与指针分析、回调函数
2021-05-08
新型类型转换
2021-05-08
类的实例
2021-05-08
Java中数据类型和运算符
2021-05-08
PAT 锤子剪刀布
2021-05-08