模拟数据结构

模拟数据结构

数组

栈????????只能在同一端插入数据,同一端删除数据,先进后出。

队列????只允许在一端插入数据,在另一个端删除数据,先进先出

cpu(Center processor Unit)

array_pop();????从数组的尾部删除一个元素,返回被删除的元素

示例:

array_push();????向数组的尾部追加一个元素,返回添加新元素后数组长度

示例:

array_shift();????从数组的头部删除一个元素,并返回被删除的元素

示例:

array_unshift();????向数组的头部添加一个元素,并返回添加新元素后数组长度

示例:

模拟栈:由于栈的操作规则是在同一端进行数据的添加与删除,所以使用array_pop、array_push与array_shift、array_unshfit模拟栈操作

队列操作:由于队列的操作规则是在一端添加另一端删除,所以可以使用array_unshift、array_pop与array_push、array_shift模拟队列操作。

array_keys();????获取数组中所有的元素的键名,并以索引数组的形式返回。

array_values();获取数组中所有的元素的键值,并以索引数组的形式返回。可以很方便的将一个关联数组转换成索引数组

示例:

array_key_exists();????????用于判断某个键名是否存,存在返回true,不存在返回false

in_array();????????????????用于判断某个键值,是否存在

示例:

implode();????????????用于将数组元素按指定的分隔符拼接成字符串返回

示例:

count();????????用于获取数组的长度

range(m,n);????????用于按m与n的unicode编码返回m与n之间的字符,并组织成数组返回

示例:

时间: 2024-08-01 22:47:20

模拟数据结构的相关文章

【模拟+数据结构】UVA 11995 I Can Guess the Data Structure!

[模拟+数据结构]UVA 11995 I Can Guess the Data Structure! 题目大意 给出一系列操作,包含操作数和操作码,判断符合这一系列操作返回值的数据结构类型(栈.队列.优先队列) – 说一下思路 拿这三种数据结构去模拟一下就可以了 [注意]栈顶 stack.top() 队首 queue.front() 堆顶 priority_queue.top() 堆又叫做优先队列heap == priority_queue 参考代码 #include<bits/stdc++.h

数组拷贝、数组函数、通过数组函数来模拟数据结构的栈和队列、回调的意义、数组函数的排序问题、算法以及寻找素数的筛选法

1.数组的拷贝数组拷贝时指针的指向问题. 数组在拷贝时,指针的位置随之复制[这一点拷贝是完全一样]但是如果拷贝的数组的指针是非法的,那么拷贝出新指针的位置进行初始化<?php$arr1=array('123');end($arr1);next($arr1);//这个指针非法$arr2 = $arr1;//这里进行数组的拷贝var_dump(current($arr2));//得到指向‘123’元素的指针var_dump(current($arr1));//此时这个数组的指针有问题?> 但是拷贝

ATM取款机模拟——数据结构课设

今天帮人写的第二篇课设 , ;-) 机智的窝 要求:大概说一下吧,就是要创建一个用户(初始化一账户),模拟ATM的业务(取款,100的整数倍,改密               码,查余额,等等,各种简单繁琐的操作 ;-) ) 直接贴代码吧: #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <string> using name

餐盘模拟 数据结构及其描述

如何模拟向餐盘中添加物品 po上来证明我来过 package ObjectWash; public class Object { String name; int WashingCost; int TransCost; int length, width; Object(String mingcheng, int xishuanshijian, int zhuanyishijian, int chang, int kuan) { this.name = mingcheng; this.Washi

数据结构学习系列之线性表(四)

前言 使用没有指针的语言模拟实现数据结构,会碰到一些莫名奇妙的问题 单向循环链表 之前学习的链表都是单向且最后一个节点指向空节点,如果最后一个节点指向头节点,这样就形成了一个环,名字叫单向循环列表,简称循环列表 源码(JS模拟实现) 包含了头指针以及尾指针的实现 /** * @desc 循环链表 * * @author WadeYu * @date 2015-08-15 * @copyright by WadeYu */ var Node = function(data){ this.data

php基础知识

回顾 函数: 形参默认值, 返回值 作用域: 全局作用域(全局变量)和局部作用域(局部变量) 跨域访问变量: 引用传递, $GLOBALS, global关键字 匿名函数: 没有函数名,变量访问(可变函数) 可变函数: 一个变量保存的值是函数名. 伪类型: number,mixed,void,callback 数据类型判断: PHP不应该相信任何外来数据 数据类型转换: 自动转换和手动(强制转换)转换 文件包含: 代码复用, HTML布局 四种方式: include和include_once,r

JavaScript入门之数组:Array类型详解

数组应该是每个语言中都用得极度频繁的数据类型,JavaScript也不例外. 个人认为,Js中的Array类型非常强大. 首先没有C/C++等语言需要在数组初始化时指定数组长度(并不可变)的要求. 也不需要指定特定的基本数据类型(Number,String,Boolean,Null,Undefined,Object),也就意味着,一个数组中可以存多种数据类型的值. 我想总结一下Array的常用方法,在这之前,先介绍一下Array的基本用法: 基本用法: 1.创建数组: //创建空数组 var a

React虚拟DOM具体实现——利用节点json描述还原dom结构

前两天,帮朋友解决一个问题: ajax请求得到的数据,是一个对象数组,每个对象中,具有三个属性,parentId,id,name,然后根据这个数据生成对应的结构. 刚好最近在看React,并且了解到其中的虚拟DOM,其实,就是利用json数据来代替DOM结构表示,然后利用这个json数据,渲染出DOM树,总体添加到页面中.下面,我就通过介绍我如何实现上面实际问题的思路,一边完成实际需求,一边实现React中虚拟DOM渲染成DOM的原理. 模拟数据结构如下: 1 var allJson = [{

2017-4-16-Train:Codeforces Beta Round #4 (Div. 2 Only)

反思: 我去确实很菜啊,写不动数据结构,写不动trick题,脑子转不动. 可能一直在写专题,都是不需要思考用什么方法的题目,所以都没有经过太多的思考.就像今天的DIV2.实话真的简单,但是我只有一题1A,其中B题没读到题目细节,还有D题没想到DP去做,而是直接写模拟了.唉,说多了都是泪,加油训练吧 A. Watermelon(水题) One hot summer day Pete and his friend Billy decided to buy a watermelon. They cho