博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈,递归
阅读量:6252 次
发布时间:2019-06-22

本文共 1703 字,大约阅读时间需要 5 分钟。

  • 栈的基本操作

注意:是从后往前连接的

1 #include 
2 #include
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 
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

你可能感兴趣的文章
天气模式_今年台风活跃期即将结束!下周天气将开启“大变脸”模式
查看>>
扫码枪关闭常亮模式_生意好时最怕收银出故障,这几个扫码枪的常见问题你一定要知道...
查看>>
如何双击打开vivado工程_利用TCL重建vivado工程
查看>>
mysql的引双向链表_Mysql高手系列 - 第22篇:mysql索引原理详解(高手必备技能)
查看>>
mysql in 查询改成_MySQL not in嵌套查询改写成外连接方式
查看>>
mysql community安装_MySQL Community Server 5.7安装详细步骤
查看>>
python处理多行字符串_python多行字符串
查看>>
java冒泡排序_用java写个冒泡排序?
查看>>
linux 开发java_做开发环境的操作系统是 Linux 好还是 Windows 好?
查看>>
java正文提取_Java网页正文提取工具
查看>>
blocked java_使用jstack排查多线程死锁、阻塞
查看>>
centos7 nohup无法保持_CentOS 不间断会话(ssh关闭后如何保证程序继续运行)(nohup和screen)...
查看>>
显示图片java代码_用于显示下载或是显示图片的一段代码
查看>>
java scrip_js java scrip基本语法
查看>>
java 加上天数_java日期时间加上天数 | 学步园
查看>>
java 爬楼梯算法_9.1 爬楼梯
查看>>
java多态 动态绑定_Java JVM 多态(动态绑定)
查看>>
jpa 去重_JPA 查询Distinct Join条件示例
查看>>
mysql date 索引性能_【转】MYSQL数据库时间字段INT,TIMESTAMP,DATETIME性能效率比较
查看>>
java 加密解密算法_用JAVA设计一个简单的加密、解密算法,用该算法来实现对数据的加密、解密...
查看>>