首页 > 其他分享 >数据结构:栈与队列

数据结构:栈与队列

时间:2023-06-17 16:25:34浏览次数:83  
标签:arr 排序 队列 a1 a2 push 数据结构 size

栈:栈是一种后进先出的数据结构,我们可以想象为一个瓶子,往里放东西。又比如,函数的递归调用,就是一种栈的结构。

php中用数组实现栈:

$arr = array();

// 入栈
function push(&$arr,$val){
    $size = count($arr);
    $arr[$size] = $val;
}

// 出栈
function pop(&$arr){
    $size = count($arr);
    unset($arr[$size-1]);
}

push($arr,"a1");
push($arr,"a2");
push($arr,"a3");
echo "入栈后排序:";
print_r($arr);

pop($arr);
echo "出栈后排序:";
print_r($arr);

结果:

入栈后排序:Array
(
    [0] => a1
    [1] => a2
    [2] => a3
)
出栈后排序:Array
(
    [0] => a1
    [1] => a2
)

 

标签:arr,排序,队列,a1,a2,push,数据结构,size
From: https://www.cnblogs.com/wordblog/p/17487596.html

相关文章

  • 《数据结构与算法》之堆
    导言:我们在以前的学习中知道了堆栈,和队列,在系统处理上这两种数据结构的确是很高效的,但是在系统的任务调度上就是很高效了,我们cpu处理任务是有优先级的,要是按照队列和栈的思想都是线性执行,可能发生的情况就是输出一个字符比系统掉电请求处理的优先级高,可能输出一个字符先来,所以在......
  • 【题解】CF754D Fedor and coupons(优先队列)
    【题解】CF754DFedorandcoupons题目链接CF754DFedorandcouponsCF1029CMaximalIntersection后者是前者的加强版。思路分析最开始,先考虑不删区间\((k=0)\)的情况:也就是给你一大堆区间,让你找他们的交集。这个还是比较好想的,我们刚开始让第二个区间与第一个区间相交......
  • c++线程安全队列--有锁
    C++线程安全队列是一种数据结构,用于在多线程环境中安全地共享数据。它提供了一组功能,确保多个线程可以同时读取和写入队列,而不会导致竞争条件或数据损坏。C++线程安全队列的常见功能:入队操作(Enqueue):将一个元素添加到队列的尾部。这个操作必须是原子的,以确保在多线程环境中不会......
  • Redis中的数据结构
    字符串SDS(simpledynamicstring):redis自己构建的一种简单动态字符串,而没有直接使用C语言的字符串(在redis中C语言的字符串仅用在无需对字符串修改的地方,例如日志打印),SDS以空字符'\0'结尾,且不占用len里,会额外占用1字节空间,即使用长度为N+1的空间来表示长度为N的字符串数......
  • 块状数据结构选做
    收集了最近做的一些块状数据结构题,涉及分块,莫队,块状链表等,难度大多不是很高,老少皆宜。QAQP4168[Violet]蒲公英题目链接大意:静态在线区间众数先离散化,预处理出\(cnt_{i,j}\)和\(mode_{i,j}\),分别表示前\(i\)块中数值\(j\)出现的次数和第\(i\)到第\(j\)块的众数。......
  • P1903 [国家集训队] 数颜色 / 维护队列 题解
    一、题目描述:给你一个长度为$n$的序列$a$,你需要进行$m$次操作。$类型\1\:将第\x\个元素的值修改为\v\。$$类型\2\:求区间\l\到\r\中有多少种数字。$数据范围:$1\len,m\le1333333,所有数字\le1\times10^6$ 二、解题思路:带......
  • 代码随想录算法训练营第九天| 232.用栈实现队列 225. 用队列实现栈
    232.用栈实现队列注意:1,构造函数不需要2,需要有两个成员变量inout代码:1classMyQueue{2public:3stack<int>in;4stack<int>out;5MyQueue(){67}89voidpush(intx){10in.push(x);11}1213intpop(){1......
  • 数据结构(Python版)——3、基本结构
    数据结构(Python版)——3、基本结构什么是线性结构LinearStructure线性结构是一种有序数据项的集合,其中每个数据项都有唯一的前驱和后继除了第一个没有前驱,最后一个没有后继新的数据项加入到数据集中是,只会加入到原有某个数据项之前或之后具有这种性质的数据集,就称为线性结构......
  • /*创建消息队列*/ msgid=msgget(IPC_PRIVATE,0666 | IPC_CREAT);
    #include<stdlib.h>#include<stdio.h>#include<string.h>#include<errno.h>#include<unistd.h>#include<sys/types.h>#include<sys/ipc.h>#include<sys/msg.h>#defineMAX_TEXT512structmy_msg_st{......
  • 2023-06-15:说一说Redis的Key和Value的数据结构组织?
    2023-06-15:说一说Redis的Key和Value的数据结构组织?答案2023-06-15:全局哈希表Redis使用哈希表作为保存键值对的数据结构,通过哈希函数将Key映射为哈希表中的一个索引位置,使得Key-Value可以在O(1)时间复杂度内被快速访问。在Redis中,哈希表是由多个哈希桶(也称为槽位/数组元素)组成......