简单排序中插入排序相对于另外两种(冒泡排序、选择排序)效率要高。插入排序规则:从左边第二个开始讲该数据项往前插入到合适的位置,若该数据项比第一个小则插入到第一个数据项的前面,否则位置不变。然后依此规则将第三个数据域前面的数据进行比较,插入到合适的位置。依次将后面所有的数据插入到前面合适的位置。插入排...
分类:
其他好文 时间:
2014-09-09 17:50:19
阅读次数:
178
一、冒泡排序基本思想是:两两比较相邻记录的关键字,如果反序则交换冒泡排序时间复杂度最好的情况为O(n),最坏的情况是O(n^2)改进思路1:设置标志位,明显如果有一趟没有发生交换(flag = false),说明排序已经完成改进思路2:记录一轮下来标记的最后位置,下次从头部遍历到这个位置就Ok二、直...
分类:
其他好文 时间:
2014-09-09 15:19:18
阅读次数:
190
冒泡排序规则:1.比较相邻的两个数据项,若左边的较大,则交换位置。2.比较一趟之后最大的数据项排在了最后。3.比较n-1(n为数据项的个数)趟后,待排序的数据拍好了序。因为比较数据项相等时不交换位置,所以冒泡排序是稳定排序。importjava.util.Arrays;publicclassBubb...
分类:
其他好文 时间:
2014-09-09 12:16:48
阅读次数:
241
为了笔试,用了一下午准备了下各种排序算法的java实现。给大家提供个方便,把代码都贴出来,算法的具体过程以后再补。冒泡排序 1 package sort; 2 3 public class BubbleSort { 4 public static void swap(int[] source,in....
分类:
编程语言 时间:
2014-09-09 11:33:38
阅读次数:
247
冒泡排序:不同于插入排序,冒泡排序主要通过“交换”来完成。
基本思想:
1、将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(Record[1].key > Record[2].key),则将两个记录 交换之,然后比较第二个记录和第三个记录的关键字。
2、依次类推,直至第n-1个记录和第n个记录的关键字被安置到最后一个记录的位置上。完成第一趟冒泡排序。结果使...
分类:
其他好文 时间:
2014-09-07 07:39:14
阅读次数:
240
用Java语言实现的各种排序,包括插入排序、冒泡排序、选择排序、Shell排序、快速排序、归并排序、堆排序、SortUtil等。插入排序:package org.rut.util.algorithm.support;import org.rut.util.algorithm.SortUtil;/*....
分类:
编程语言 时间:
2014-09-05 17:57:31
阅读次数:
204
//参数:数组和数组长度//注意:重复交换相邻的两个反序元素,0-i-1是已经排序的,每次排序将最小的元素冒泡到i//算法时间复杂度o(n的平方);空间复杂度:O(1)//适用情况:n较小时void Bubble_Sort(int A[],int n){ int i,j,temp; //每次...
分类:
其他好文 时间:
2014-09-05 16:06:51
阅读次数:
181
1. 快排 详见之前博文快速排序算法。 2. 堆排序 详见之前博文非递归方法的堆排序实现。 3. 简单排序(冒泡排序、选择排序和插入排序) 代码如下: #include #include #include #define N 20static void show(int *arr, int len)...
分类:
其他好文 时间:
2014-09-05 14:08:51
阅读次数:
198
/************************************************************************/
/* 功能: 模拟实现可变分区存储管理的最佳适应算法的链表类
时间:2014年9月1日21:57:21
作者:信管1201 1205020116 肖锋 */
/******************************...
分类:
其他好文 时间:
2014-09-05 10:02:21
阅读次数:
173