插入排序

這個排序不復雜,把排序的過程弄清楚就好啦
#include<iostream>
using namespace std;

template<class T>
T* insertion_sort(T arr[],int len)
{
    T key;
    //外層循環
    for(int i=1;i<len;i++)
    {
        int k=i;
        key=arr[i];
        //確定一個元素的位置
        while(key<=arr[k-1]&&k>0)
        {
            arr[k]=arr[k-1];
            k--;
        }
        arr[k]=key;
    }
    return arr;
}

//測試
void main()
{
    double arr[]={3.4,4.5,7.6,2.1,8.8,13.5,63.4,0.3,5.5};
    int len=sizeof(arr)/sizeof(double);
    insertion_sort(arr,len);
    for(int i=0;i<len;i++)
        cout<<arr[i]<<endl;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章