厦门旅游网站建设目的哈尔滨网站设计哪里有做

news/2025/9/30 9:25:47/文章来源:
厦门旅游网站建设目的,哈尔滨网站设计哪里有做,wordpress 免费插件,怎样才能做好网络推广什么是数据结构#xff1f;数据结构是什么#xff1f;要了解数据结构#xff0c;我们要先明白数据和结构#xff0c;数据就是一些int char 这样的变量#xff0c;这些就是数据#xff0c;如果你是一个篮球爱好者#xff0c;那么你的球鞋就是你的数据#xff0c;结构就是… 什么是数据结构数据结构是什么要了解数据结构我们要先明白数据和结构数据就是一些int char 这样的变量这些就是数据如果你是一个篮球爱好者那么你的球鞋就是你的数据结构就是怎么把这些数据排列组合怎么把数据摆放好才能方便你找到这些数据把数据和结构合在一起理解就是所谓的数据结构简单点就是处理数据的方式方法。平时在家里面你有没有随便摆放自己的鞋子然后要找鞋子的时候要花费非常多是时间可能你老婆也很生气每天都乱摆鞋子导致她打扫卫生非常麻烦然后有一天你买了一个非常酷的鞋架有了这个鞋架之后你的鞋子终于有家了这个鞋架就是起到处理鞋子的作用了。什么是栈栈可以理解为数据结构中的一种这种数据结构的特点是先进去的人「数据」后出来就像下面的图片一样如果栈是一个洞人「数据」只能从洞的一个口进去然后出来也只能从一个口出来而且洞的宽度就只能容纳一个人「数据」好了那先进去的那个人「数据」最傻逼了一定要等后面进来的人「数据」都先出去了才能出去。用C 语言实现一个栈我写代码是很水的之前有一个同学写了一个栈让我检查我看了下好像我写代码的能力比他厉害一些代码比较简单然后讲一下几个比较重要的函数希望大家在面试的时候随手就甩出一个栈砸死面试官哈哈。#include stdio.h #include stdlib.hstruct List{int data;struct List * next; };struct Stack{struct List *head;int size; };struct Stack * StackInit(void) {struct Stack *stack NULL;stack (struct Stack*)malloc(sizeof(struct Stack));stack-head (struct List *)malloc(sizeof(struct List));stack-head-next NULL;stack-size 0;return stack; }int StackPush(struct Stack *stack,int data) {struct List *tmp (struct List *)malloc(sizeof(struct List));tmp-data data;tmp-next stack-head-next;stack-head-next tmp;stack-size;//printf(push:%d \n,data);return 0; }int IsStackEmpty(struct Stack *stack) {/*如果头指针指向下一个为空说明栈为空*/if(stack-head-next NULL)return 1;elsereturn 0; }int StackPop(struct Stack *stack,int *data) {struct List *tmp NULL;if(IsStackEmpty(stack))return -1;tmp stack-head-next;*data tmp-data;stack-head-next tmp-next;stack-size--;free(tmp);//printf(pop:%d \n,*data);return 0; }int main(void) {int i 0;struct Stack *stack NULL;stack StackInit();for(i 0;i5;i){StackPush(stack,i);}for(i 0;i5;i){int data 0;StackPop(stack,data);printf(%d ,data);}printf(\n);return 0; } 1-栈头部栈头部也就是栈顶指针我们用指针单链表实现一个栈一定要知道这个栈顶的指针有头就有栈没有头这个栈也就跨了。struct Stack *stack NULL;stack StackInit(); 这个就是定义一个栈也就是malloc出来一个内存专门存这个栈顶的。2-出栈出栈的方法跟我之前说的差不多只不过出栈代码上需要做判断。int StackPop(struct Stack *stack,int *data) {struct List *tmp NULL;if(IsStackEmpty(stack))return -1;tmp stack-head-next;*data tmp-data;stack-head-next tmp-next;stack-size--;free(tmp);//printf(pop:%d \n,*data);return 0; } 先判断这个栈是不是空的是不是空的判断方法就是通过判断head-next的指针是否为空。然后把head-next 这个位置的数据取出来取出来后再把head-next的指针指向 取出来这个位置 的next 位置。然后再记得free掉。就Ok了。3-入栈入栈的操作和出栈的操作刚好相反就是改变一下位置和指针的指向。int StackPush(struct Stack *stack,int data) {struct List *tmp (struct List *)malloc(sizeof(struct List));tmp-data data;tmp-next stack-head-next;stack-head-next tmp;stack-size;//printf(push:%d \n,data);return 0; }用数组来实现一个栈数组本身是一种数据结构使用数组实现一个栈也是非常简单方便的大家请看。#include stdio.h #include stdlib.h/*栈的大小*/ #define LENGHT (100)struct Stack{int stack_array[LENGHT];unsigned int size;//栈动态长度 };struct Stack * StackInit(void) {struct Stack *stack NULL;stack (struct Stack*)malloc(sizeof(struct Stack));stack-size 0;return stack; }int StackPush(struct Stack *stack,int data) {if(stack-size LENGHT){printf(stack is full\n);return (-1);}stack-stack_array[stack-size] data;stack-size;//printf(push:%d size:%d\n,data,stack-size);return 0; }int IsStackEmpty(struct Stack *stack) {/*如果头指针指向下一个为空说明栈为空*/if(stack-size 0)return 1;elsereturn 0; }int StackPop(struct Stack *stack,int *data) {stack-size--;if(IsStackEmpty(stack))return -1;*data stack-stack_array[stack-size];//printf(pop:%d size:%d\n,*data,stack-size);return 0; }int main(void) {int i 0;struct Stack *stack NULL;stack StackInit();for(i 0;i20;i){StackPush(stack,i);}for(i 0;i21;i){int data 0;StackPop(stack,data);printf(%d \n,data);}printf(\n);return 0; } 总结既然有栈就会有和栈不一样的数据结构有一种数据结构叫做队列栈的数据结构特点是先进后出队列的数据结构特点是先进先出有点意思栈和队列做驱动的同学很少需要自己写代码实现正常情况下都是SDK集成了方法直接调用接口就好了但是写应用的同学经常要自己实现一个栈或者队列特别是大企业面试这些算是非常基础的题目最好是闭着眼睛就能写出来的那种。扫码或长按关注回复「 加群 」进入技术群聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++学习:C++类型转换专栏 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站多域名怎么做北京建机职业技能鉴定中心证书查询

1、 你有几次遇到需要解压 .tar 文件但无法记住所需的确切参数?别名可以帮助你!只需将以下内容添加到 .bash_profile 中,然后使用 untar FileName 解压缩任何 .tar 文件。 alias untartar -zxvf 2、 下载文件时,如果出现问题想要…

太原网站建设找山西云起时企业宣传片拍摄思路

小弟多次想把调用门和RPL分开单独说,但几次尝试都没有成功,我发现它们之间是紧偶合、密不可分,RPL的产生主要是为解决系统调用时的“越权”问题,系统调用的实现方式中,以调用门和中断门最为适合。由于以后我们将用中断…

网站不能上传附件ps软件下载中文版免费下载

面向对象 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实…

kubelet源码阅读(三)——kubelet调用device plugin的allocate接口

kubernetes-master/pkg/kubelet/cm/devicemanager/endpoint.go 入参:devs是设备ID 响应:AllocateResponse包含了需要注入到容器中的工作件(envs环境变量、mounts挂在信息、devices设备信息、annotations注解信息、c…

建网站做cpa小影wordpress主题

F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRLESC 打开开始菜单 CTRLALTDELETE 在win9x中打开关闭程序对话…

NAFNet (Simple Baselines for Image Restoration) 阅读笔记 - 教程

NAFNet (Simple Baselines for Image Restoration) 阅读笔记 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &quo…

有关网站建设的文章京东电子商务网站建设

原理 最小二乘法由勒让德(A.M.Legendre)于1805年在其著作《计算彗星轨道的新方法》中提出,主要思想是最小化误差二次方和寻找数据的最佳匹配函数,利用最小二乘法求解未知参数,使得理论值与观测值之差(即误差,或称为残差)的二次方和达到最小,即: E = ∑ i = 1 n ϵ …

海口的网站建设公司创新的盐城网站开发

引言:编写批处理程序,实现批量删除当前目录及子目录下的空文件夹。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击【编辑…

解决OpenWrt系统上出现“git: remote-https is not a git command...”的问题

在OpenWrt上安装git软件包后,执行git clone命令时,出现了下面的报错: git: remote-https is not a git command. See git --help. fatal: remote helper https aborted session 通过AI工具进行,发现原来是没有安装…

密码技术概论

View Post密码技术概论密码技术概论 一、 时代背景:从信息化到智能化技术发展路径:信息化 → 数字化 → 网络化 → 智能化。 核心驱动力:万物互联(IoT)的开启,将一切连接入网。 数字时代特征:数字化:将物理世界…

临猗商城网站建设平台wordpress vantage

shell,perl,python的区别 2012-03-18 10:48:42| 分类: 默认分类 | 标签: |字号大中小 订阅 shellsedawk三者中功能最弱,没有调试程序,大多数操作必须通过运行其他程序才能执行,所以需要更多时间、内存并在进程表中…

国内搜索引擎网站wordpress类似于知更鸟的中文主题

1.我们先创建一个空的大文件夹 2.打开该文件夹的终端 输入npm init -y 2.1.打开该文件夹的终端 2.2在该终端运行 npm init -y 3.安装webpack 3.1打开webpack网址 点击“中文文档” 3.2点击“指南”在点击“起步” 3.3复制基本安装图片画线的代码 4.在一开始的文件夹下在创建一…

合肥建设局网站官网四川全美网络科技有限公司

什么是Istio? 在现代软件开发中,微服务架构已经成为构建可扩展、灵活系统的首选方法。然而,随着微服务数量的增加,服务间的通信、监控和管理变得越来越复杂。为了解决这些问题,服务网格(Service Mesh&…

麒麟网站建设wordpress打开文章很慢

游戏开发基础part3--Paint 画笔 Paint画笔是绘图的辅助类,一般它是作为画布的参数来实现相应的效果,Paint类中包含文字与位图的样式、颜色等属性信息。Paint的常用方法如下: 1.setAntiAlias(boolean aa) 作用:设置画笔是否无锯齿 …

网站建设厃金手指花总十一网络营销策划方案的目的

文章目录 1、 新建应用时选择与自己真机匹配的sdk版本2、 根据报错提示连接打开处理方案3、查询真机版本对应的**compileSdkVersion** 和 **compatibleSdkVersion** 提示3.1版本之后和3.1版本之前的不同命令(此处为3.0版本)4、根据查询修改参数5、连接成…

wap网站开发价钱外包开发一个app多少钱

PLC作为下位机,接收上位机的执行命令,并将执行结果反馈给上位机。工具/原料电脑、PLC、USB转RS232数据线和RS232转RS485模块(或者USB转RS485)方法/步骤PLC与电脑线路连接,根据电脑的串口情况,1.电脑自带RS232串口,那么…

IntelliJ IDEA 中 Shared Build Process Heap Size 的重要性与配置

IntelliJ IDEA 中 Shared Build Process Heap Size 的重要性与配置Posted on 2025-09-30 08:45 且行且思 阅读(0) 评论(0) 收藏 举报共享构建进程堆大小(Shared Build Process Heap Size)是IntelliJ IDEA中用于…

专业网站设计怎么做做古代风格头像的网站

转载自 你真的了解Java中的三目运算符吗三目运算符是我们经常在代码中使用的,a (bnull?0:1);这样一行代码可以代替一个if-else,可以使代码变得清爽易读。但是,三目运算符也是有一定的语言规范的。在运用不恰当的时候会导致意想不到的问题。本文就介绍一…