本帖最后由 sanguodouble1 于 2014-5-5 12:26 编辑
舞动的排序算法 冒泡排序
http://www.tudou.com/programs/view/iNNXwkfWjgQ/?fr=3&referrer=http://tieba.baidu.com/p/1797158322
谁能解释一下,演员5号、6号为什么是同时转过身去的吗?
另外附其他算法,真的很有意思,很适合对常见算法流程还不太清楚的同学
舞动的排序算法 希尔排序
http://www.tudou.com/programs/view/fe5GJxWt_-0/?fr=3&referrer=http://tieba.baidu.com/p/1797158322
舞动的排序算法 快速排序
http://www.tudou.com/programs/view/gtnrNh7yh6I/?FR=LIAN]http://www.tudou.com/programs/view/fe5GJxWt_-0/?fr=3&referrer=http://tieba.baidu.com/p/1797158322#http://www.tudou.com/programs/view/gtnrNh7yh6I/?FR=LIAN[/url]
舞动的排序算法 归并排序
http://www.tudou.com/programs/view/76u8iK44mkI/?fr=3&referrer=http://tieba.baidu.com/p/1797158322
舞动的排序算法 选择排序
http://www.tudou.com/programs/view/UnVBekipjbo/?fr=3&referrer=http://tieba.baidu.com/p/1797158322
自己研究了一下,这个舞动算法的代码应该是这样表示的
- public static void enhanceBubble(int[] a) {
- int temp;
- for (int i=0; i<a.length-1; ) { //i表示已经排好的数
- int k=0;
- for (int j=0; j<a.length-1-i; j++) {
- if (a[j] > a[j+1]) {
- temp = a[j];
- a[j] = a[j+1];
- a[j+1] = temp;
- k = j+1; //说明到目前为止,小标为j+1的数已经排好了
- }
- }
- i = a.length - k;
- }
- }
复制代码 |