C# 哈希表&列队&栈

哈希表:
//不规定类型,不规定长度,不规定键值
Hashtable ht = new Hashtable();  //定义
ht[1] = 1;
ht[‘a‘] = "abc";
ht["ab"] = ‘a‘;
ht[3.14] = 1.14;
ht.Add(2, "qwerty");  //添加元素
ht.Remove(‘a‘);  //删除元素
foreach (var x in ht.Values)
{
Console.WriteLine(x);
}  //遍历,由于类型无法确定使用万能型var型

队列:
//先进先出
//不规定长度,不规定类型
Queue line = new Queue();  //定义
line.Enqueue("aaa");  //添加
line.Enqueue(12345555555);
line.Enqueue(‘a‘);
Console.WriteLine(line.Dequeue());  //输出,先进先出
Console.WriteLine(line.Count);  //记录键值数
foreach (var x in line)
{
Console.WriteLine(x);
}  //遍历同理

栈:
//先进后出
//规定类型,不规定长度
Stack<int> stack = new Stack<int>();  //定义
stack.Push(183);  //添加
stack.Push(255);
Console.WriteLine(stack.Pop());  //输出,后进先出
Console.WriteLine(stack.Count);  //记录键值数
//遍历
....

Console.Read();

时间: 2024-11-10 01:05:25

C# 哈希表&列队&栈的相关文章

普通集合和泛型集合的区别,哈希表和字典表的区别,队列和堆栈的区别以及堆和栈的区别。

普通集合和泛型集合的区别: 泛型集合与传统集合相比 类型更安全. 泛型集合无需装箱拆箱操作. 泛型的重要性. 泛型是未来五年的主流技术 ... 通常情况下,建议您使用泛型集合,因为这样可以获得类型安全的直接优点而不需要从基集合类型派生并实现类型特定的成员.此外,如果集合元素为值类型,泛型集合类型的性能通常优于对应的非泛型集合类型(并优于从非泛型基集合类型派生的类型),因为使用泛型时不必对元素进行装箱. 下面的泛型类型对应于现有的集合类型: List 是对应于 ArrayList 的泛型类. Di

栈、队列、哈希表的特性

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

2017年11月4日 vs类和结构的区别&amp;哈希表&amp;队列集合&amp;栈集合&amp;函数

类和结构的区别 类: 类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存 类有构造和析构函数 类可以继承和被继承 结构: 结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象. 结构没有构造函数,但可以添加.结构没有析构函数 结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口 //哈希表 //不规定长度 不规定类型 不规定建类型 //Hashtable j = new Hashtable(); //

哈希表,队列集合,栈集合,自定义函数

1  1)哈希表 定义:(不规定长度,不规定类型,不规定键的类型) Hashtable  ht=new hashtable(); (点击小灯泡用using system.collection) 2)赋值: (1): ht['a']=1; ht[0]="b"; ht["b"]='c'; (2) : ht.Add(1,d);               :相当于ht[1]=d 哈希表遍历 : 1)        foreach(var x in ht.keys ) {

C# 哈希表,队列,栈

哈希表- 不规定长度,不规定类型,不规定键的类型 Hashtable ht = new Hashtable(); ht['a'] = 1; ht[0] = "b"; ht["b"] = 'c'; ht[1] = "d"; //ht.Add(1, "d"); ht[1] = "x"; foreach (var x in ht.Keys)       keys,键    value,值 { Console.Wr

[leetcode 40. 组合总和 II] 不排序使用哈希表+dfs递归 vs 排序栈+回溯

题目描述 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使用一次. 说明: 所有数字(包括目标数)都是正整数. 解集不能包含重复的组合. 示例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8, 所求解集为: [ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6] ] 示例 2: 输入

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

哈希表入门讲解

散列表(Hash table,也叫哈希表),是根据键(Key)而直接访问在内存存储位置的数据结构.也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度.这个映射函数称做散列函数,存放记录的数组称做散列表. 一个通俗的例子是,为了查找电话簿中某人的号码,可以创建一个按照人名首字母顺序排列的表(即建立人名{\displaystyle x}到首字母{\displaystyle F(x)}的一个函数关系),在首字母为W的表中查找"王"姓的电话号

11、C#基础整理(特殊集合和哈希表)

特殊集合:队列.栈 一.栈Stack类:先进后出,没有索引 Stack ss = new Stack(); 1.增加数据:push :将元素推入集合 ss.Push(3); ss.Push(5); ss.Push(7); 2.获取数据:(1)peek返回位于stack顶部的对象但不移除(获取最后一个进入的元素的值) Console.WriteLine(ss.Peek());//7 (2)pop将元素一个个弹出集合(读取并移除) Console.WriteLine(ss.Pop());//7 Co