当前位置: 首页 > news >正文

吉安做网站的公司/创建网站的软件

吉安做网站的公司,创建网站的软件,邯郸疫情最新情况分布,西安做搭建网站堆栈的链式存储1.结构体定义2.初始化3.是否为空4.入栈5.出栈6.打印所有元素8.测试9.全部代码1.结构体定义 typedef int ElementType; typedef struct SNode *Stack; struct SNode {ElementType Data; //数据域struct SNode *Next; //指针域 };2.初始化 只初始化头结点 St…

堆栈的链式存储

  • 1.结构体定义
  • 2.初始化
  • 3.是否为空
  • 4.入栈
  • 5.出栈
  • 6.打印所有元素
  • 8.测试
  • 9.全部代码

1.结构体定义

typedef int ElementType;
typedef struct SNode *Stack;
struct SNode
{ElementType Data;		//数据域struct SNode *Next;		//指针域
};

2.初始化

只初始化头结点
在这里插入图片描述

Stack CreateStack()
{//构造一个堆栈的头结点并返回指针Stack S;S = (Stack)malloc (sizeof(struct SNode));S->Next = NULL;return S;
}

3.是否为空

判断:头结点指向空

int IsEmpty(Stack S)
{return S->Next ==NULL;	
}

4.入栈

void Push(ElementType item,Stack S)
{struct SNode *tmp;tmp = (struct SNode *)malloc(sizeof(struct SNode ));tmp->Data = item;tmp->Next = S->Next;S->Next = tmp;
}

5.出栈

ElementType Pop(Stack S)
{struct SNode *firstcell;	//记录需要删除的结点ElementType TopData;		//需要返回的变量if(!IsEmpty(S)){firstcell = S->Next;TopData = S->Next->Data;S->Next = firstcell->Next;free(firstcell);return TopData;}else{printf("堆栈为空!");return NULL;}
}

6.打印所有元素

void print(Stack S)
{if(IsEmpty(S)){printf("堆栈为空!\n");return ;}Stack Pri = S->Next; while(Pri->Next!=NULL){printf("%d ",Pri->Data);Pri=Pri->Next;}printf("%d\n",Pri->Data);
}

8.测试

	Stack s = CreateStack();print(s);Push(5,s);Push(23,s);Push(43,s);Push(565,s);Push(54,s);print(s);printf("删除的元素为:%d\n",Pop(s));print(s);

9.全部代码

#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
typedef int ElementType;typedef struct SNode *Stack;
struct SNode
{ElementType Data;struct SNode *Next;
};
//Stack S;
//初始化
Stack CreateStack()
{//构造一个堆栈的头结点并返回指针Stack S;S = (Stack)malloc (sizeof(struct SNode));S->Next = NULL;return S;
}int IsEmpty(Stack S)
{return S->Next ==NULL;
}//入栈
void Push(ElementType item,Stack S)
{struct SNode *tmp;tmp = (struct SNode *)malloc(sizeof(struct SNode ));tmp->Data = item;tmp->Next = S->Next;S->Next = tmp;
}//出栈
ElementType Pop(Stack S)
{struct SNode *firstcell;	//记录需要删除的结点ElementType TopData;		//需要返回的变量if(!IsEmpty(S)){firstcell = S->Next;TopData = S->Next->Data;S->Next = firstcell->Next;free(firstcell);return TopData;}else{printf("堆栈为空!");return NULL;}
}void print(Stack S)
{if(IsEmpty(S)){printf("堆栈为空!\n");return ;}Stack Pri = S->Next; while(Pri->Next!=NULL){printf("%d ",Pri->Data);Pri=Pri->Next;}printf("%d\n",Pri->Data);
}int main()
{Stack s = CreateStack();print(s);Push(5,s);Push(23,s);Push(43,s);Push(565,s);Push(54,s);print(s);printf("删除的元素为:%d\n",Pop(s));print(s);system("pause");return 0;
}
http://www.lbrq.cn/news/942967.html

相关文章:

  • 网站建设精英/培训学校加盟费用
  • 网站如何在百度上做推广/网站设计公司
  • 一个网站建设大概需要多少费用/推广平台app
  • 泰安城乡建设委员会的网站/买了500元黑科技引流靠谱吗
  • 武汉做网站 古凡/网络营销包括哪些
  • 黑龙江门户网站建设/seo排名培训
  • SEO案例网站建设公司/游戏推广一个月能拿多少钱
  • 做任务网站建设/关键词排名代做
  • 彩票网站怎么做系统/今日头条新闻10条简短
  • 南宁市兴宁区建设局网站/怎么申请网站
  • 做彩网站/福建百度开户
  • 网站建设的系统简介/夫唯老师seo
  • 行业协会网站模板/关键词排名点击软件怎样
  • 做建筑看那些网站/seo谷歌外贸推广
  • 做网站常用的jquery/网络营销的特征和功能
  • wordpress二次开发赚钱/河南网站优化公司哪家好
  • 网站建设有什么优点/搜索引擎优化排名优化培训
  • 长治市郊区住房建设局网站/windows优化大师有哪些功能
  • 做网站好公司哪家好/互联网优化
  • 苏州做学校网站的/淘宝运营培训机构
  • 建立局域网网站/关键词百度云
  • 泰安网站建设哪家专业/怎么做好网络推广销售
  • 西安网站制作计划/网奇seo赚钱培训
  • 怎么用ps做网站ui/上海优化公司有哪些
  • 免费空间有哪些/徐州网站建设方案优化
  • 优秀专题网站/阿里巴巴国际贸易网站
  • 品牌建站/旺道seo优化
  • b2c网站的经营情况/免费一键搭建网站
  • 做b2b网站服务器空间多大的容量/外包公司是正规公司吗
  • 哪个网站可以做全网推广/网络营销策划方案
  • 【HTML】<script>元素中的 defer 和 async 属性详解
  • SpringBoot总结
  • 大模型蒸馏(distillation)---从DeepseekR1-1.5B到Qwen-2.5-1.5B蒸馏
  • 1. Qt多线程开发
  • 三防平板搭载2D扫描头:工业数据采集的革新利器
  • C++连接MySQL完整教程