检索 04 --Stack栈 Queue队列 Hashtable哈希表

            //Stack 先进后出 没有索引
            Stack st = new Stack();
            st.Push(12);
            st.Push(11);
            st.Push(22);
            st.Push(34);
            st.Push(56);//从栈顶部插入 56应该在栈的最上部
            Console.WriteLine(st.Peek());//st.Peek(); 返回栈的顶部数据 但是不移除   56
            Console.WriteLine(st.Pop());//st.Pop(); 移除并返回栈的顶部数据值   56
            object[] arr1 = (object[])st.ToArray();//可以转换为数组 值从顶部向下部取
            foreach (int i in arr1)
            {
                Console.Write(i + " ");//遍历 为 34 22 11 12
            }
            Console.ReadLine();
            //Queue 先进先出
            Queue qu = new Queue();
            qu.Enqueue(12);//添加数据 12应该位于队列开始处
            qu.Enqueue(34);
            qu.Enqueue(56);
            qu.Enqueue(78);
            Console.WriteLine(qu.Peek());//qu.Peek(); 返回开始处的对象 但不移除  12
            Console.WriteLine(qu.Dequeue());//qu.Dequeue(); 返回开始处对象 但是会移除  12
            Object[] arr2 = (object[])qu.ToArray(); //转换为数组 值从队列开始取
            foreach (int i in arr2)
            {
                Console.Write(i + " ");//遍历结果为 34 56 78
            }
            Console.ReadLine();
            //Hashtable 以键 值 成对读取数组,可以自己设置索引
            Hashtable ht = new Hashtable();
            ht.Add(1, "tiger");//任意类型的key键 任意类型的value值
            ht.Add(2, "lion");
            ht.Add(3, "monkey");
时间: 2024-10-14 04:37:58

检索 04 --Stack栈 Queue队列 Hashtable哈希表的相关文章

[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列

python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构时,这些高级的数据结构可能给我们以迷惑. 比如,使用list实现queue的时候,入队操作append()时间复杂度可以认为是O(1),但是,出队操作pop(0)的时间复杂度就是O(n). 如果是想利用python学学数据结构的话,我觉得还是自己实现一遍基本的数据结构为好. 1.链表 在这里,我想使

栈、队列、哈希表的特性

栈是一种特殊的线性表,它只在线性表的一端进行插入和删除操作.栈中允许插入.删除的这一端称为栈顶,另一个固定端称为栈底.当表中没有元素时称为空栈.其特点是先进后出或后进先出. 队列是一种只允许在标的一端插入,在另一端删除的存取首先得线性表.允许插入的一端称为队尾,允许删除的一端称为对头:不含任何数据元素的队列称为空队列.其特点是先进先出. 哈希表是一种高效的数据结构.它的最大优点就是把数据存储和查找所消耗的时间大大降低,几乎可以看成是常数时间:而代价仅仅是消耗比较多的内存.然而在当前可利用内存越来

Stack 栈 ----Queue 队列

 一.概念 栈 Stack 先进后出的结构,队列 Queue 先进先出的结构 如图: 二 . 实现 实现如上两个数据结构. 首先动手之前,Framework Design Guidelines这本书告述我们,在设计API或者实现类的时候,应当围绕场景编写API规格说明书. 1.1 实现栈      对于栈提供 Stack<T>         :    创建一个 栈 void Push(T s)  :   插入一个元素 T Pop ()           :   推出最上的元素,删除并且返回

手工 stack栈 queue队列 priority queue 优先队列 模板

栈stack: 1 struct sta 2 { 3 int sz[100001]; 4 int top() 5 { 6 return sz[top]; 7 } 8 void push(int x){ 9 sz[++top]=x; 10 } 11 void pop(){ 12 if(top>0) 13 top--; 14 } 15 void cl() 16 { 17 top=0; 18 } 19 int size(){ 20 return top; 21 } 22 }stack;

Stack集合 Queue队列集合 Hashtable哈希表

Stack集合 干草堆集合 栈集合 栈;stack,先进后出,一个一个赋值,一个一个取值,安装顺序来. 属性和方法 实例化 初始化 Stack st = new Stack(); 添加元素 1 个数 2 Console.WriteLine(st.Count); 3 只要使用一次pop方法,就会从最后一个元素开始排除 弹出 4 Console.WriteLine(st.Pop()); 5 Console.WriteLine(st.Count); 6 只想查看不弹出 7 Console.WriteL

特殊集合(stack、queue、hashtable的示例及练习)

特殊集合:stack,queue,hashtable stack:先进后出,一个一个的赋值一个一个的取值,按照顺序. .count           取集合内元素的个数 .push()         将元素一个一个推入集合中 .pop()           将元素一个个弹出集合 .clear()         清空集合 queue:先进先出,一个一个的赋值一个一个的取值,按照顺序. .count              取集合内元素的个数 .Enqueue()      进队列集合 .

第04章 栈和队列

栈 队列 优先级队列 本章涉及到的三种存储数据类型:栈 队列 优先级队列 本章涉及到的存储数据类型是算法构思的辅助工具,而不仅仅是存储数据的工具.数据结构的生命周期比较短,在程序结束时,对应的数据结构的生命周期随之结束. 栈 队列 优先级队列是比较抽象的数据结构,通过接口对三种数据结构进行定义和实现,而实现的过程对用户来说是屏蔽的. 栈 (后进先出) 栈只允许访问一个数据项,即最后插入的项,当最后一项被移除时,才能对倒数第二项进行操作,依次类推. 栈的操作有两种,入栈和出栈,push  pop.

如何使用C#的Hashtable[哈希表]

在C#编程中经常需要对一些键值对进行处理,一般我们可以使用字典或哈希表来实现.和字典比起来,哈希表占用系统资源更少更为方便. 下面举例说明哈希表的常用方法: 1, 添加元素: 2, 删除元素: 3, 遍历: 4, 查询. 步骤阅读 工具/原料 Microsoft Visual Studio 2010 方法/步骤 1 打开Microsoft Visual Studio 2010, 新建名字为[哈希表]的程序. 2 在新程序界面空白窗口上放置合适的控件:包括, 显示操作流程的textbox控件: 添

python实现stack(栈)和队列(queue)

栈和队列是两种基本的数据结构,同为容器类型.两者根本的区别在于: stack:后进先出 queue:先进先出 stack和queue是没有查询具体某一个位置的元素的操作的.但是他们的排列是按顺序的 对于stack我们可以使用python内置的list实现,因为list是属于线性数组,在末尾插入和删除一个元素所使用的时间都是O(1),这非常符合stack的要求.当然,我们也可以使用链表来实现. stack的实现代码(使用python内置的list),实现起来是非常的简单,就是list的一些常用操作