首页 > 编程语言 > 详细

插入排序

时间:2016-01-02 22:31:28      阅读:149      评论:0      收藏:0      [点我收藏+]
#include "stdafx.h"
#include <list>
#include <iostream>
#include <string>
#include <memory>
#include <vector>
#include <map>
#include <assert.h>

using namespace std;

#define BUFSIZ 100

int (&strToIntArr(string s,int &len))[BUFSIZ]
{
    int arr[BUFSIZ];
    int idx=0;

    char *pch = strtok(const_cast<char*>(s.c_str()),", ");
    while(pch!=NULL){
        arr[idx++] = atoi(pch);
        pch = strtok(NULL,", ");
    }

    len=idx;
    return arr;
}


void insertSort(int (&arr)[BUFSIZ],int len)
{
    if(len<2){
        return;
    }

    int key,i;

    for(int j=1;j<len;j++){
        key=arr[j];
        i=j-1;
        while(i>-1 && arr[i]>key){
            arr[i+1]=arr[i];
            i=i-1;
        }

        arr[i+1]=key;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    string input;
    cin>>input;

    int arr_len;
    int (&arr)[BUFSIZ] = strToIntArr(input,arr_len);

    insertSort(arr,arr_len);

    for(int i=0;i<arr_len;i++){
        cout<<arr[i]<<endl;
    }

    system("pause");
    return 0;
}

 

插入排序

原文:http://www.cnblogs.com/sky-view/p/5095298.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!