当前位置:编程学习 > C/C++ >>

直接插入排序

插入排序就是每次将一个待排序数据,按照其大小插入到已经排序好的数据中的适当位置,直到全部插入完成。

示例代码如下:

 

// DirectInsertionSort.cpp : 定义控制台应用程序的入口点。   
// 直接插入排序。   
  
#include <iostream>   
using namespace std;  
  
// 直接插入排序   
bool DirectIntertionSort(int data[], int length) {  
    for (int j = 1; j < length; ++j) {  
        int key = data[j];  
        int i = j - 1;  // 将A[j]插入到排好序的A[0]到A[j-1]中   
        while (i >= 0 && data[i] > key) {  
            data[i + 1] = data[i];  // 交换顺序   
            -- i;  
        }  
        data[i + 1] = key;  // 将数据插入到指定位置   
    }  
    return true;  
}  
int _tmain(int argc, _TCHAR* argv[])  
{  
    int data[10] = {4,10,9,8,7,2,4,6,5,3};  // 创建10个数据,测试   
    DirectIntertionSort(data, 10);  
  
    for (int i = 0; i < 10; ++i) {  
        cout << data[i] << " ";  
    }  
    cout << endl;  
  
    system("pause");  
    return 0;  
}  

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,