冒泡排序应该是我大学里遇见的第一个排序算法,没记错的话应该还是C语言课上讲指针的时候老师给介绍的,当时因为心思完全没在学习上,还沉浸在高考结束的狂欢状态,想着进了大学就真的可以爱谁谁了,反正我是不要再努力读书了,看到黑板上老师写的什么i,j两层嵌套什么的,就一个感觉,真尼玛蛋疼,快下课吧.到后来直接连课都不去上了,想想当初还是挺二逼的.
我的另一位老师又曾经说过,你们啊,上课不听...
分类:
编程语言 时间:
2015-02-05 23:28:32
阅读次数:
395
<?php
/**
*BubbleSort0($arr):冒泡排序
*BubbleSort1($arr):冒泡排序——优化
*BubbleSort2($arr):冒泡排序——另一种实现方法
*SelectSort($arr):选择排序
*InsertSort($arr):插入排序
*ShellSort($arr):希尔排序
*/
classSort{
/**
*冒泡排序:指的是两两相邻的数据直接..
分类:
编程语言 时间:
2015-02-05 07:13:33
阅读次数:
167
假如汇编语言要实现如下C语言的功能,编译环境Ubuntu14.04(32位)。#includevoid swap(int *p, int *q){ int tmp = *p; *p = *q; *q = tmp;}int main(){ int a[] = {3, 0, 5,...
分类:
编程语言 时间:
2015-02-04 23:19:50
阅读次数:
225
原理快速排序(Quicksort)是对冒泡排序的一种改进。从数列中挑出一个元素,称为"基准"(pivot);排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在本次排序退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作...
分类:
编程语言 时间:
2015-02-04 16:26:31
阅读次数:
165
题意就是说把顺时针排的1到n换成逆时针排的需要的最少交换步数。如果是线形的一串数,需要的交换次数就是个冒泡排序的交换次数:n*(n-1)/2,或者用a[i]=(i-1)+a[i-1]推出来。对于环形,切成两个线形就行了,通过观察规律知:越接近平均切开越好。#include#include#inclu...
分类:
其他好文 时间:
2015-02-04 00:25:38
阅读次数:
223
<?php/**@冒泡排序面试总结*/$arr=array(9,3,2,1,8,4,100,99,23,45,67,87,1234);echo‘<pre>‘;print_r(SortAsc($arr));echo‘</pre>‘;echo‘<pre>‘;print_r(SortDesc($arr));echo‘</pre>‘;/**@冒泡排序*@排序算法*@从小到大排序*@只支持一维数组*/func..
分类:
编程语言 时间:
2015-02-02 20:05:16
阅读次数:
198
在前面我们实现了选择排序与冒泡排序的具体实现,现在我们从数学的角度分析下算法的效率问题:
首先我们把两种排序算法的概念重温一遍:
选择排序:在每一轮中,找出最小的元素放在他最终的位置。挺起来有些别扭,我们举个实例:
eg: 8, 5,1, 20, 6, 3
1ed······ 1, 5,8, 20, 6, 3
2ed······ 1,...
分类:
编程语言 时间:
2015-02-02 19:55:18
阅读次数:
208
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N-1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(#...
分类:
编程语言 时间:
2015-02-02 19:43:28
阅读次数:
212