黑马程序员技术交流社区

标题: 关于冒泡排序法应用范围的疑问 [打印本页]

作者: 刘欢(安阳)    时间: 2012-10-6 09:09
标题: 关于冒泡排序法应用范围的疑问
突然想起来冒泡排序法似乎都在写数字数组的排序,那它还能应用在哪些地方呢?
比如非数组可以用吗?
字母的排序可以吗?可以的话怎么比较呢?ASCII码吗?

作者: 潘梦军    时间: 2012-10-6 10:58
char[] num = new char[5] { 'A', 'b', 'a', 'd', 'c'};
            char temp;
            for (int i = 0; i < 5; i++)
            {
                for (int j = i; j < 4; j++)
                {
                    if(num[j]>num[j+1])
                    {
                        temp = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = temp;
                    }
                }
            }

            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine(num[i]);
            }
不只是数字的,字符类型的直接比较就可以了,会自己根据ASCII进行比较。
作者: 雷向阳    时间: 2012-10-6 12:02
冒泡的话好像是只能在数组中应用,字母用ascii。好像还有其他的排序方法。。。
作者: 陈顺亮    时间: 2012-10-6 12:37
字母最终还是ascii码,可根据ascii码的大小进行比较,字母可以隐式转换为int类型
作者: 邓艳秋    时间: 2012-10-6 22:33
冒泡排序只是一种思路,后面char类型的数组本来就可以通过ascii值来转换成int。
作者: 刘俊红    时间: 2012-10-7 13:32
本帖最后由 刘俊红 于 2012-10-7 13:33 编辑

冒泡排序是一种算法。
冒泡排序作用于一系列可以比较的数据项。

不管数据项的存储方法是数组还是字典-
也不管数据项的数据类型是整型还是其他类型(比如结构,引用等)——只要可以比较就行。

作者: 邓江红    时间: 2012-10-7 14:36
其实到最后比较字母大小在计算机中就是在比较ASCⅡ的值,相对的在数组中用冒泡法用的比较多




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2