直接插入排序:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1...
                            
                            
                                分类:
其他好文   时间:
2014-07-16 17:32:03   
                                阅读次数:
223
                             
                    
                        
                            
                            
                                写在前面:
        
        排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。因此排序掌握各种排序算法非常重要。对下面介绍的各个排序,我们假定所有排序的关键字都是整数、对传入函数的参数默认是已经检查好了的。只是简单的描述各个算法并给出了具体实现代码,并未做其他深究探讨。
基础知识:
...
                            
                            
                                分类:
其他好文   时间:
2014-07-16 09:47:22   
                                阅读次数:
296
                             
                    
                        
                            
                            
                                思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换。共需进行i-1趟比较,直到所有记录排序完成为止。例如:进行第i趟选择时,从当前候选记录中选出关键字最小的k号记录,并和第i个记录进行交换。基本实现代码for (int i=0; i<nLen-1; i++)
{
	for(int j=i+1; j<nLen; j++)
	{
		...
                            
                            
                                分类:
其他好文   时间:
2014-07-13 16:26:44   
                                阅读次数:
233
                             
                    
                        
                            
                            
                                一。概念每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。二。示例初始序列: {49 27 65 97 76 12 38}第1趟:12与49交换:12{27 65 97 76 49 ...
                            
                            
                                分类:
其他好文   时间:
2014-07-09 15:46:21   
                                阅读次数:
153
                             
                    
                        
                            
                            
                                一、直接插入排序
稳定,时间复杂度:最好O(n)、最差O(n^2)、平均O(n^2),空间复杂度O(1)
void InsertSort(int L[], int n)
{
	int i, j,key;
	for (i = 1; i<n; i++)
		if(L[i] < L[i-1])//需要将L[i]插入到有序表L[0...i-1]
		{
			key = L[i];...
                            
                            
                                分类:
其他好文   时间:
2014-07-08 13:40:33   
                                阅读次数:
137
                             
                    
                        
                            
                            
                                继《排序(一)__综述》后,对简单算法中的冒泡排序、简单选择排序和简单插入排序进行较为详细的解析。...
                            
                            
                                分类:
其他好文   时间:
2014-07-02 07:28:28   
                                阅读次数:
192
                             
                    
                        
                            
                            
                                排序算法基本陈述容易理解,之后会详细解析希尔排序、堆排序、归并排序、快速排序、简单选择排序、直接插入排序等排序算法。...
                            
                            
                                分类:
其他好文   时间:
2014-07-01 06:37:39   
                                阅读次数:
188
                             
                    
                        
                            
                            
                                1、冒泡排序
1)原理说明:重复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
2)代码实现:
package com.test.sort;
public class BubbleSort
{
    public static void sort(int[] data)
    {
  ...
                            
                            
                                分类:
编程语言   时间:
2014-06-16 20:00:39   
                                阅读次数:
253
                             
                    
                        
                            
                            
                                简单选择排序时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:836 测试通过:259描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中的简单选择排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两...
                            
                            
                                分类:
其他好文   时间:
2014-06-14 19:04:13   
                                阅读次数:
253