摘要:
最近闲来无事,复习了下一些排序算法,温故知新!首先,温故:维基上的排序算法定义其次,推荐两个有意思的算法排序算法网站:(这是老外用JAVA写的一些排序算法)(比较直观地了解各种排序算法过程)CSDN上看到的一些帖子:是不是该取消冒泡排序与插入排序(这个,还是保留得好!)几种排序的实现(其中有一位朋友的学习笔记)关于希尔排序的的“间隔”设置的说明,从书上摘抄下来:在希尔(人名)的原稿中,他建议初始的间距为N/2,简单地把每一趟排序分成了两半。因些,对于N=100的数组逐渐减小的间隔序列为:50,25,12,6,3,1。这个方法的好处是不需要在开始排序前为找到初始的间隔而计算序列;而只需要用2整除 阅读全文
摘要:
是个程序员都知道,在C/C++里面交换值的方法:void swap(int&a ,int&b){ int temp; temp = a; a = b; b = temp;} 但在JAVA中用这种方法是行不通的,因为“Java对普通类型的变量是不支持引用传递的”。怎么办呢?1. 可以像下面这样通过传数组(也属于传值)的方法来完成对换(在很多排序算法里面就是这么干的):public static void swap(int[] data, int a, int b) { int t = data[a]; data[a] = data[b]; data[b] = t; } 2. 也可 阅读全文