news 2026/6/10 11:02:43

哈希表与堆栈:数据存储全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
哈希表与堆栈:数据存储全解析

《hash表》

//数组结构:长度是固定 类型是固定
int[] is1 = { 1, 2, 3 };

//动态集合:长度不固定,类型不固定,存储是object类型
ArrayList list= new ArrayList();
//泛型集合:长度不固定,类型固定
List<int>list1= new List<int>();

//字典:长度不固定 类型固定
Dictionary<int,int> dict=new Dictionary<int,int>();

//hash表:和字典很类似,以存储时候也是键值对的方法进行存储的,通过键获取对应的值,和字典不同地方在于,哈希表存储键值对类型不固定
Hashtable hashtable = new Hashtable();//创建hash表
hashtable.Add(1,2);//添加键值对
hashtable.Add("name", "张三");
//2查询键对应的值
Console.WriteLine(hashtable[1]);//获取对应键的值

//3遍历hash所有的keys
foreach (var item in hashtable.Keys)
{
Console.WriteLine(item+"----------");
}
//4遍历hash所有的values
foreach (var item in hashtable.Values)
{
Console.WriteLine(item+"++++++=");
}
object[]keys=new object[hashtable.Count];//定义object类型数组
hashtable.Keys.CopyTo(keys, 0);//把hashtable.Keys所有元素复制到keys
//foreach (var item in hashtable)
//{
// Console.WriteLine(item+"+++++==");
//}
//6清空键值对值
//hashtable.Clear();
//7指定键进行移除
//hashtable.Remove(1);
//8 包含这个键
Console.WriteLine(hashtable.ContainsKey("name"));
//9修改
hashtable["name"] = "你好";
//10 键值对个数
Console.WriteLine(hashtable.Count);
//5遍历hash所有键值对
foreach (DictionaryEntry item in hashtable)
{
Console.WriteLine(item.Value+"------");
}

《堆栈》

//栈和队列
//本节是按照线性数据结构,数据存储方式进行对比的

//栈:对要操作元素会进行一个后进先出的操作,例如:现实场景电梯,先进去的人最后才出来,后进去的人先出来
//添加元素称为出栈操作
//取出一个元素操作称为出栈
Stack<string>stack=new Stack<string>();//存放字符串栈结构
stack.Push("张三");//入栈
stack.Push("李四");
stack.Push("王五");

string name =stack.Pop();//出栈
Console.WriteLine(name+"--------");//王五
Console.WriteLine(stack.Peek());//获取栈顶元素 李四
Console.WriteLine(stack.Count);//2个
//stack.Clear;清空栈
//stack.ToArray();//转成数组

//队列:对元素进行先进先出的操作 例如显示场景排队买饭
//添加元素一般入队操作
//取出元素一般出队=操作
Queue<string>queue = new Queue<string>();
queue.Enqueue("马化腾");//入队
queue.Enqueue("马云");
queue.Enqueue("马嘉祺");
Console.WriteLine(queue.Count);
Console.WriteLine(queue.Dequeue());//出队马化腾
Console.WriteLine(queue.Peek());//获取对顶元素马云

// queue.Clear();//清空队列


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:35:09

餐厅点餐微信小程序计算机毕设(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌ 专注于VUE,小程序&#xff0c;安卓&#xff0c;Java,python,物联网专业&#xff0c;有18年开发经验&#xff0c;长年从事毕业指导&#xff0c;项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、…

作者头像 李华
网站建设 2026/6/10 16:07:49

无需编码!使用anything-llm镜像快速启动AI知识库

无需编码&#xff01;使用 anything-llm 镜像快速启动 AI 知识库 在企业知识爆炸式增长的今天&#xff0c;一个常见的尴尬场景是&#xff1a;新员工入职一周还在问“我们的 API 文档在哪&#xff1f;”&#xff1b;技术团队每次发布版本&#xff0c;都要重复回答上百次相同的技…

作者头像 李华
网站建设 2026/6/9 18:37:37

从工程角度看 GlobTek 医疗电缆线束应用

在医疗电子设备中&#xff0c;电源与信号连接并不是简单的“通电即可”&#xff0c;而是直接关系到患者安全、设备稳定性以及合规认证能否通过。以 GlobTek, Inc. 为代表的国际电源与连接解决方案厂商&#xff0c;其医疗电缆与线束组件长期服务于医疗监护、影像、康复及体外诊断…

作者头像 李华