读书人

插入排序准确版本

发布时间: 2012-09-19 13:43:54 作者: rapoo

插入排序正确版本

#include <iostream>void swap(int* a, int* b){    if (a == b)        return;    *a = *a ^ *b;    *b = *a ^ *b;    *a = *a ^ *b;};void InsertionSort(int* a, int n){    int end = 1;    while (end <= n)    {        int idx = end;        while (idx > 0 && a[idx - 1] > a[idx])        {            swap(&a[idx - 1], &a[idx]);            --idx;        }        ++end;    }};int main(){    int a[10] = {34,23,22,11,4,5,9,33,34,53};    InsertionSort(a, 9);    for (int i = 0; i < 10; ++i)    {        std::cout << a[i] << " ";    }    return 0;}

读书人网 >其他相关

热点推荐