栈,递归

  • 栈的基本操作

注意:是从后往前连接的

 1 #include <stdio.h>
 2 #include <Windows.h>
 3 typedef struct sStack
 4 {
 5     int num;
 6     struct sStack* pnext;
 7 }Stack;
 8 void push(Stack **pStack,int num);
 9 int pop(Stack **pStack);
10 BOOL isEmpty(Stack *pStack);
11 
12 int main()
13 {
14     Stack* pStack = NULL;
15      push(&pStack,1);
16      push(&pStack,2);
17      push(&pStack,3);
18      printf("%d\n",pop(&pStack));
19      printf("%d\n",pop(&pStack));
20      printf("%d\n",pop(&pStack));
21      printf("%d\n",pop(&pStack));
22     if( isEmpty(pStack))
23         printf("栈为空\n");
24      return 0;
25 }
26 void push(Stack **pStack,int num)
27 {
28     Stack* stack = (Stack*)malloc(sizeof(Stack));
29     stack->num = num;
30     stack->pnext = NULL;
31 
32     stack->pnext = *pStack;
33     *pStack = stack;
34     //不需要判断栈是否为空,直接push就好
35 }
36 int pop(Stack **pStack)
37 {
38     int a = 0;
39     Stack* temp;
40     if(isEmpty( *pStack))
41         return -1;
42     a = (*pStack)->num;
43     temp = *pStack;
44     (*pStack) = (*pStack)->pnext;
45     free(temp);//弹出之后要删除
46     return a;
47 }
48 BOOL isEmpty(Stack *pStack)
49 {
50     if(pStack == NULL)
51         return TRUE;
52     else 
53         return FALSE;
54 }基本操作
  •  递归
 1 #include <stdio.h>
 2 int JIECHENG(int);
 3 void Out(int,int );
 4 int main()
 5 {
 6     printf("%d\n",JIECHENG(5));
 7     Out(1,4);
 8     return 0;
 9 }
10 int JIECHENG(int num)
11 {
12     if(num == 1)
13     {
14         return 1;
15     }
16     else return num*JIECHENG(num-1);
17 }
18 void Out(int begin,int end)
19 {
20     if(begin <= end)
21     {
22         printf("%d\n",begin);
23         Out(begin+1,end);
24         printf("%d\n",begin);
25     }
26 }

 

转载于:https://www.cnblogs.com/Lune-Qiu/p/7879118.html

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

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

相关文章

mysql集群多管理节点_项目进阶 之 集群环境搭建(三)多管理节点MySQL集群

多管理节点MySQL的配置很easy&#xff0c;仅须要改动之前的博文中提高的三种节点的三个地方。1)改动管理节点配置打开管理节点C:\mysql\bin下的config.ini文件&#xff0c;将当中ndb_mgmd的相关配置改动为例如以下内容&#xff1a;[ndb_mgmd]# Management process options:# Ho…

APK伪加密

一、伪加密技术原理 我们知道android apk本质上是zip格式的压缩包&#xff0c;我们将android应用程序的后缀.apk改为.zip就可以用解压软件轻松的将android应用程序解压缩。在日常生活或者工作中&#xff0c;我们通常为了保护我们自己的文件在进行压缩式都会进行加密处理。这样的…

乱花渐欲迷人眼-杜绝设计的视噪

视噪&#xff0c;又称视觉噪音。我们每天接受来自外界的大量信息&#xff0c;这些信息有将近70&#xff05;是通过视觉感知获得的。视噪会干扰我们对信息的判断&#xff0c;影响到产品的易用性和可用性&#xff0c;与用户体验的好坏息息相关。(克劳德香农图演示了噪音如何影响信…

超详细windows安装mongo数据库、注册为服务并添加环境变量

1.官网下载zip安装包 官网地址https://www.mongodb.com/download-center/community?jmpnav&#xff0c;现在windows系统一般都是64位的&#xff0c;选好版本、系统和包类型之后点击download&#xff0c;mongodb-win32-x86_64-2008plus-ssl-4.0.10.zip。 2.解压zip包&#xff0…

.netcore mysql_.netcore基于mysql的codefirst

.netcore基于mysql的codefirst此文仅是对于netcore基于mysql的简单的codefirst实现的简单记录。示例为客服系统消息模板的增删改查实现第一步、创建实体项目&#xff0c;并在其中建立对应的实体类&#xff0c;以及数据库访问类须引入Pomelo.EntityFrameworkCore.MySql和Microso…

android 涨潮动画加载_Android附带涨潮动画效果的曲线报表绘制

写在前面本文属于部分原创&#xff0c;实现安卓平台正弦曲线类报表绘制功能介绍&#xff0c;基于网络已有的曲线报表绘制类(LineGraphicView)自己添加了涨潮的渐变动画算法最终效果图废话少说&#xff0c;直接上源码一、自定义View LineGraphicView&#xff0c;本类注释不算多&…

Oracle Study之--Oracle等待事件(5)

Db file single write这个等待事件通常只发生在一种情况下&#xff0c;就是Oracle 更新数据文件头信息时&#xff08;比如发生Checkpoint&#xff09;。当这个等待事件很明显时&#xff0c;需要考虑是不是数据库中的数据文件数量太大&#xff0c;导致Oracle 需要花较长的时间来…

Java多线程-工具篇-BlockingQueue

Java多线程-工具篇-BlockingQueue 转载 http://www.cnblogs.com/jackyuj/archive/2010/11/24/1886553.html 这也是我们在多线程环境下&#xff0c;为什么需要BlockingQueue的原因。作为BlockingQueue的使用者&#xff0c;我们再也不需要关心什么时候需要阻塞线程&#xff0c;什…

怎么连接 mysql_怎样连接连接数据库

这个博客是为了说明怎么连接数据库第一步&#xff1a;肯定是要下载数据库&#xff0c;本人用的SqlServer2008&#xff0c;是从别人的U盘中拷来的。第二步&#xff1a;数据库的登录方式设置为混合登录&#xff0c;步骤如下&#xff1a;1.打开数据库这是数据库界面&#xff0c;要…

webstorm环境安装配置(less+autoprefixer)

node安装&#xff1a; 参考地址&#xff1a;http://www.runoob.com/nodejs/nodejs-install-setup.html 1.下载node安装包并完成安装 2.在开始菜单打开node 3.查看是否安装完成&#xff08;npm是node自带安装的&#xff09; 命令&#xff1a;node -v npm -v less安装&#xff1a…

如何解决ajax跨域问题(转)

由 于此前很少写前端的代码(哈哈&#xff0c;不合格的程序员啊)&#xff0c;最近项目中用到json作为系统间交互的手段&#xff0c;自然就伴随着众多ajax请求&#xff0c;随之而来的就是要解决 ajax的跨域问题。本篇将讲述一个小白从遇到跨域不知道是跨域问题&#xff0c;到知道…

判断输入的字符串是否为回文_刷题之路(九)--判断数字是否回文

Palindrome Number问题简介&#xff1a;判断输入数字是否是回文,不是返回0,负数返回0举例:1:输入: 121输出: true2:输入: -121输出: false解释: 回文为121-&#xff0c;所以负数都不符合3:输入: 10输出: false解释: 倒序为01&#xff0c;不符合要求解法一&#xff1a;这道题比较…

VirtualBox 虚拟机复制

本文简单讲两种情况下的复制方式 1 跨电脑复制 2 同一virtrul box下 虚拟机复制 ---------------------------------------------- 1 跨电脑复制 a虚拟机 是老的虚拟机 b虚拟机 是新的虚拟机 新虚拟机b 新建&#xff0c; 点击下一步会生成 相应的文件夹 找到老虚拟机a的 vdi 文…

mysql case快捷方法_MySQL case when使用方法实例解析

首先我们创建数据库表&#xff1a; CREATE TABLE t_demo (id int(32) NOT NULL,name varchar(255) DEFAULT NULL,age int(2) DEFAULT NULL,num int(3) DEFAULT NULL,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8;插入数据&#xff1a;INSERT INTO t_demo VALUES (1, 张…

Java快速扫盲指南

文章转自&#xff1a;https://segmentfault.com/a/1190000004817465#articleHeader22 JDK&#xff0c;JRE和 JVM 的区别 JVM&#xff1a;java 虚拟机&#xff0c;负责将编译产生的字节码转换为特定机器代码&#xff0c;实现一次编译多处执行&#xff1b; JRE&#xff1a;java运…

mongo基本使用方法

mongo与关系型数据库的概念对比&#xff0c;区分大小写&#xff0c;_id为主键。 1.数据库操作 >show dbs #查看所有数据库 >use dbname #创建和切换数据库&#xff08;如果dbname存在则切换到该数据库&#xff0c;不存在则创建并切换到该数据库&#xff1b;新创建的…

python爬虫消费者与生产者_Condition版生产者与消费者模式

概述&#xff1a;在人工智能来临的今天&#xff0c;数据显得格外重要。在互联网的浩瀚大海洋中&#xff0c;隐藏着无穷的数据和信息。因此学习网络爬虫是在今天立足的一项必备技能。本路线专门针对想要从事Python网络爬虫的同学而准备的&#xff0c;并且是严格按照企业的标准定…

【Python包】安装teradatasql提示找不到pycryptodome模块错误(pycrypto,pycryptodome和crypto加密库)...

1.问题描述 安装teradatasql时&#xff0c;出现错误Could not find a version that satisfies the requirement pycryptodome&#xff0c;具体如下&#xff1a; 2.解决方法 查看Python第三方库目录$PYTHON_HOME/lib/python3.6/site-packages目录下没有pycryptodome目录&#xf…

简述yolo1-yolo3_使用YOLO框架进行对象检测的综合指南-第二部分

简述yolo1-yolo3In the last part, we understood what YOLO is and how it works. In this section, let us understand how to apply it using pre-trained weights and obtaining the results. This article is greatly inspired by Andrew Ng’s Deep Learning Specializat…

java cxf 调用wcf接口_JAVA 调用 WCF 服务流程

1. 将 WCF 服务发布到 Windows 服务(或者 IIS)此步骤的目的是为 WCF 服务搭建服务器&#xff0c;从而使服务相关的 Web Services 可以被 JAVA 客户端程序调用&#xff0c;具体步骤参考如下&#xff1a;(1) 发布到 Windows 服务(2) 发布到 IIS注&#xff1a;如果是将 WCF 服务…