zoukankan      html  css  js  c++  java
  • 直接插入排序

    插入排序多采用in-place在数组上实现。具体算法描述如下:

    1. 从第一个元素开始,该元素可以认为已经被排序
    2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
    3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
    4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
    5. 将新元素插入到该位置中
    6. 重复步骤2~5
    #include <IOSTREAM>
    using namespace std;
    
    // 直接插入排序算法
    int main(){
    	int A[10]={8,2,1,5,4,3,6,9,10,7};
    	int key,j;
    	for(int i=1;i<10;i++)
    	{
    		if (A[i-1]>A[i])
    		{
    			key = A[i];
    			for (j =i-1; j>0&&A[j]>key; j--)
    			{
    				A[j+1] = A[j];//注意这里从前一项值依次复制给后一项,不会造成数据丢失
    			}
    			A[j] = key;//不加这句会造成数据重复
    		}
    	}
    		
    	for (int k=0;k<10;k++)
    	{
    		cout << A[k] << endl;
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    浅谈过拟合问题与梯度爆炸问题
    python 读取excel数据
    KNN与K-MEANS的区别
    jstree使用小结(二)
    jstree使用小结(一)
    webstrom 编码
    自定义分页
    js传递数组到后台
    创建等待图标
    js 日期格式化
  • 原文地址:https://www.cnblogs.com/lingc/p/3363664.html
Copyright © 2011-2022 走看看