哈希表的值作为一个颜色容器,值默认为标识1, 表示未曾用过,若用过标识为0;
 1: 程序第一步    遍历哈希表,查找标识为1 未曾用过的颜色
我用了这个:
string colorno_use="";

foreach (string key in ht.Keys)
{

if(Convert.ToInt32(ht[key])==1)  //这个结果导致 所有为1的主键 都被循环了。 当然导致了后边的程序错乱问题。 
{
colorno_use = key;
ht[key] = 0;
++i;
break;
}

}

于是我改进了一下: 加了一个i 限制判断循环的条件 结果正常了:

int i=0;

foreach (string key in ht.Keys)
{

if(Convert.ToInt32(hashtable[key])==1&&i==0)
{
colorno_use = key;
hashtable[key] = 0;
++i;
break;
}
}

更简便的方法就是本来想把大括弧去掉 :if没有大括弧下边有两句以上是运行一次,进入下一条语句。结果呢在此处不合适,调试了一下,因为foreach 管辖范围广,导致if 执行之后又进入了forech 然后又是if ,在此还是上边加限制的方法最为合适。

 
           Hashtable ht = new Hashtable();
            ht.Add("PaleTurquoise", 1);
            ht.Add("Aqua", 1);
            ht.Add("CornflowerBlue", 1);
            ht.Add("Yellow", 1);
            ht.Add("Chocolate", 1);
            ht.Add("RosyBrown", 1);
            ht.Add("Orange", 1);
            ht.Add("LightGray", 1);
            ht.Add("LimeGreen", 1);
            ht.Add("Magenta", 1);
            ht.Add("DarkSalmon", 1);
            foreach (DictionaryEntry key in ht)
                if (Convert.ToInt32(key.Value) == 1)
                    return key.Key;
            return null;

if 循环的深入理解 哈希表的一种应用的更多相关文章

  1. js中哈希表的几种用法总结

    本篇文章只要是对js中哈希表的几种用法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. <html> <head> <script type=" ...

  2. 深入理解PHP内核(六)哈希表以及PHP的哈希表实现

    原文链接:http://www.orlion.ga/241/ 一.哈希表(HashTable) 大部分动态语言的实现中都使用了哈希表,哈希表是一种通过哈希函数,将特定的键映射到特定值得一种数据 结构, ...

  3. 理解Golang哈希表Map的元素

    目录 概述 哈希函数 冲突解决 初始化 结构体 字面量 运行时 操作 访问 写入 扩容 删除 总结 在上一节中我们介绍了 数组和切片的实现原理,这一节会介绍 Golang 中的另一个集合元素 - 哈希 ...

  4. [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?

    [译]聊聊C#中的泛型的使用(新手勿入)   写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...

  5. LeetCode通关:哈希表六连,这个还真有点简单

    精品刷题路线参考: https://github.com/youngyangyang04/leetcode-master https://github.com/chefyuan/algorithm-b ...

  6. [PHP内核探索]PHP中的哈希表

    在PHP内核中,其中一个很重要的数据结构就是HashTable.我们常用的数组,在内核中就是用HashTable来实现.那么,PHP的HashTable是怎么实现的呢?最近在看HashTable的数据 ...

  7. 从HashMap透析哈希表

    ##扯数据结构 先看一下哈希表的概念: 哈希表是一种数据结构,它可以提供快速的插入操作和查找操作.第一次接触哈希表,他会让人难以置信,因为它的插入和删除.查找都接近O(1)的时间级别.用哈希表,很多操 ...

  8. 自己动手实现java数据结构(五)哈希表

    1.哈希表介绍 前面我们已经介绍了许多类型的数据结构.在想要查询容器内特定元素时,有序向量使得我们能使用二分查找法进行精确的查询((O(logN)对数复杂度,很高效). 可人类总是不知满足,依然在寻求 ...

  9. nginx 哈希表数据结构

    1.哈希表ngx_hash_t的优势和特点 哈希表是一种典型的以空间换取时间的数据结构,在没有冲突的情况下,对任意元素的插入.索引.删除的时间复杂度都是O(1).这样优秀的时间复杂度是通过将元素的ke ...

随机推荐

  1. git 恢复到旧版本命令

    1.第一步:找到你想恢复到的版本号:可以在git提交日志中查看-> 找到版本号,复制下来,在git项目根目录下打开git命令窗口: 输入:git reset --hard xxxxxxxxxxx ...

  2. 吴裕雄 oracle PL/SQL编程

  3. python 引用和对象理解(转)

    引用和对象分离 从最开始的变量开始思考: 在python中,如果要使用一个变量,不需要提前进行声明,只需要在用的时候,给这个变量赋值即可 (这个和C语言等静态类型语言不同,和python为动态类型有关 ...

  4. 判断用户 是用的电脑还是手机 判断 是安卓还是IOS

    $(function(){ var Terminal = { // 辨别移动终端类型 platform: function () { var u = navigator.userAgent, app ...

  5. Python算法(一)冒泡排序

    3 5 1 6 2 1)第一次:找到这些数中最大的一个,并把它放最后. 3.5找到大的数放到第二个位置 5.1找到大的数放到第三个位置 5.6找到大的数放到第四个位置 2.6找到大的数放大第五个位置 ...

  6. Spread Syntax

    [Spread Syntax] The spread syntax allows an expression to be expanded in places where multiple argum ...

  7. cdnbest节点安装后连不上cdn主控原因排查

    1. 查看节点程序是否启动 ps -aux |grep kangle 2. 登陆cdn节点用telnet命令查下和主控的通信,命令:telnet 主控ip 3320 3. 如果节点程序都有启动,可查看 ...

  8. MySQL数据类型及使用场景

    MySQL数据类型介绍 整数类型 类型名称 说明 存储需求 取值范围有符号 取值范围符号 TINYINT 很小的整数 1个字节 -128~127 0-255 SMALLINT 小的整数 2个字节 32 ...

  9. Idea设置类注释模板

    1.选择File–>Settings–>Editor–>File and Code Templates–>Includes–>File Header. 在Descript ...

  10. 获取标签as3.0

    import flash.utils.Timer; import flash.events.TimerEvent; var time:Timer=new Timer(25); time.addEven ...