Chinaunix首页 | 论坛 | 博客
  • 博客访问: 642142
  • 博文数量: 54
  • 博客积分: 3812
  • 博客等级: 上校
  • 技术积分: 992
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-16 20:53
文章分类

全部博文(54)

文章存档

2010年(10)

2009年(24)

2008年(20)

分类: C/C++

2008-12-18 21:52:28

1. 选择排序算法
 

#include <iostream>
using namespace std;

void selectionSort(int arr[], int n)
{
    int smallIndex;
    int pass, j;
    int temp;

    for (pass = 0; pass < n-1; pass++)
    {
        smallIndex = pass;
        for (j = pass+1; j < n; j++)
            if (arr[j] < arr[smallIndex])
                smallIndex = j;
        if (smallIndex != pass)
        {
            temp = arr[pass];
            arr[pass] = arr[smallIndex];
            arr[smallIndex] = temp;
        }
    }
}

int main()
{
    int arr[15] = {10, 21, 2, 1, 3, 45, 2, 932, 32, 27, 86, 65, 576, 434, 76753};

    int i;
    
    cout << "Original array" << endl;
    for (i = 0; i < 15; i++)
        cout << arr[i] << " ";
    cout << endl << endl;

    
    selectionSort(arr, 15);

    cout << "Sorted array" << endl;
    for (i = 0; i < 15; i++)
        cout << arr[i] << " ";
    cout << endl;

    return 0;
}

阅读(2042) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~