数据结构学习之路3 堆栈的基本操作
来源:互联网 发布:plc编程招聘东莞 编辑:程序博客网 时间:2024/06/03 20:21
做了些无用功,写了栈的遍历和查找,这个应该是多此一举了……主函数写了简单的程序测试,测试没问题
#include<iostream>#include<stdlib.h>using namespace std;#define MAXSIZE 100struct Stack{int data[MAXSIZE];int top;};typedef Stack *stack;stack creat(){stack p;p = (stack)malloc(sizeof(Stack));p ->top = -1;return p;}void push(int x, stack p){if(p ->top + 1 == MAXSIZE){cout << "栈已满";return;}else{p ->data[++ (p ->top)] = x;return;}}int pop(stack p){if(p ->top == -1){cout << "栈已空";return -1;}elsereturn p ->data[(p ->top) --];}int findKth(int x, stack p){Stack s = *p;while(p ->data[p ->top] != NULL){if(p ->data[p ->top] == x){int a = p ->top + 1;*p = s;return a;}else p ->top --;}*p = s;return -1;}int find(int i, stack p){if(i > p ->top + 1 || i < 1){cout << "超出查找范围";return NULL;}elsereturn p ->data[i - 1];}void display(stack p){for(int i = p ->top; i >= 0; i --){cout << p ->data[i] << endl;}}void main(){stack p = creat();push(1, p);push(5, p);push(2, p);push(7, p);display(p);int a = findKth(2, p);cout << a << endl;int b = find(3, p);cout << b << endl;display(p);system("pause");}
阅读全文
0 0
- 数据结构学习之路3 堆栈的基本操作
- 数据结构——堆栈的基本操作
- 基本数据结构之堆栈
- 数据结构之堆栈操作
- 新手学习数据结构与算法---堆栈基本操作
- 数据结构学习之堆栈
- 堆栈的基本操作
- 【学习总结】数据结构之循环链表的基本操作
- 数据结构学习笔记之堆栈
- 堆栈的部分基本操作
- 数据结构之顺序表的基本操作
- 数据结构之图(图的基本操作)
- 数据结构之双链表的基本操作
- 数据结构之顺序串的基本操作
- 数据结构之二叉树的基本操作
- 数据结构之栈的基本操作
- 数据结构之链表的基本操作
- 数据结构之一般树的基本操作
- 运行tomcat9w.exe tomcat9.exe ,提示 指定的服务未安装unable to open the service 'tomcat9'
- 标准分幅下的图幅号转换成经纬度坐标【原理+源代码】
- malloc 与 new 区别
- Misha and Changing Handles
- 除Hadoop外你还需要知道的9个大数据技术
- 数据结构学习之路3 堆栈的基本操作
- 学习笔记TF033:实现ResNet
- 最短路
- LS8-linux系统调用方式文件编程之学习笔记
- Vue实现组件信息的缓存
- 函数
- 使用NLPIR 进行中文分词并标注词性
- Apache Kylin在电信运营商的实践和案例分享
- map集合遍历的两种方式,在spring中的依赖注入