欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

二分法栈与队列

时间:2023-06-05
1.二分法:

一直取中间值与要找的数比较,

例如:

#includeusing namespace std;int main(){ int a[]={1,2,3,4,5,6,7,8,9}; int x,left=0,right=sizeof(a),mid=(left+right)/2; cout<<"数组是a[]={1,2,3,4,5,6,7,8,9},我们找的数字是:"<>x; while(a[mid]>x) { if(a[mid]!=x) right=mid;//右边变成了right else left=mid;//左边变成了left mid=(left+right)/2;//中间变成了mid } cout<

2.栈和队列

数据结构是计算机存储,组织数据的方式,数据结构主要包括数组、链表、栈,队列、树。

栈也被称为栈堆,是一种先进后出,删除和插入都在栈顶操作的线性表

图解:

 

 栈的特性:先进后出,后进先出。

最先放入栈的内容最后被拿出来,最后放入栈的内容最先被拿出来。

栈的插入:

push():在栈顶插入元素。

例如;push(1),就是在栈顶插入了1;

 

栈的删除:

pop():在栈顶移除一个元素,并将栈数-1。

 栈的递归应用:一个直接调用自己或通过一系列的调用语句间接的调用自己的函数。

#includeint f(int m){ if(m==1) return 1; else { printf("m=%dn",m); return f(m-1); }int main(){ int n; int f(int m); printf("请输入一个大于1的数:"); scanf("%d",&n); printf("%d",f(n)); return 0;}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。