选择排序,插入排序,谁能给我讲一下,,两种排序的基本原理,尽量用完整的java程序说明一下(带注释的)
解决方案 »
- 如何配制memcashed-session-manager?
- 求教
- Spring aop如何实现日志管理
- Struts2+spring2+hibernate如何控制url的显示?
- JBoss遵循什么免费授权的?GPL吗
- 那位大哥能提供个开源的论坛啊 小弟谢了
- 使用POI读取Excel文件,然后写入数据库,在Excel的中文写入会乱码!!求解决方法!
- struts多个页面的URL都是同一个action.do,用IE另存时都保存成最初的同一个页面?
- 问题请教
- sqlSession关闭,但数据库连接未关闭,该如何解决
- 小公司里前台也要自己做吗?
- 真搞不懂s:iterator是怎么获取action数据的,求解答。
http://developer.51cto.com/art/201206/345156.htm
写的不错,好好看看吧~!
* 直接插入排序
* @param sortArray
*/
public static void InsertSort(int[] sortArray){
for(int i=1;i<sortArray.length;i++){
int compareVale = sortArray[i];
int j = i;
while(j>0 && compareVale<sortArray[j-1]){
//----->如果compareVale小于sortArray[j],则后退
sortArray[j]=sortArray[j-1];
j--;
}
sortArray[j]=compareVale;
}
}
选择排序(Selection sort)是一种简单直观的排序算法。原理:在未排序序列中找到最小元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 时间复杂度O(N^2)void select_sort( int[] a, int n)
{
int i, j, min, t;
for( i = 0; i < n - 1; i ++)
{
min = i;
//查找最小值
for( j = i + 1; j < n; j ++)
if( a[ min] > a[ j])
min = j;
//交换
if( min != i)
{
t = a[ min];
a[ min] = a[ i];
a[ i] = t;
}
}
}