简单选择排序(C/C++实现)

来源:互联网 发布:普通话考试准备软件 编辑:程序博客网 时间:2024/05/17 03:30
#include <iostream>using namespace std;#define MAXSIZE 10typedef struct{    int data[MAXSIZE+1];  //data[0]作为哨兵    int length;}SqList;void Swap(SqList *L, int i, int j){    int tmp;    tmp = L->data[i];    L->data[i] = L->data[j];    L->data[j] = tmp;}void SelectSort(SqList *L){    int i, j;    int min;    for(i=1; i<L->length; i++) {        min = i;        for(j=i+1; j<=L->length; j++) {            if(L->data[j] < L->data[min]) {                min = j;            }        }        if(i != min) {            Swap(L, i, min);   //找到最小的数然后进行交换        }    }}int main(){    int i;    SqList list;    cout <<"Please input " <<MAXSIZE<<" number :" << endl;    for(i=0; i<MAXSIZE; i++) {        cin >> list.data[i+1];    }    list.length = MAXSIZE;    cout <<"The numbers before sort: ";    for(i=0; i<MAXSIZE; i++) {        cout << list.data[i+1] << " ";    }    cout << endl;    SelectSort(&list);    cout <<"The numbers after sort: ";    for(i=0; i<MAXSIZE; i++) {        cout << list.data[i+1] << " ";    }    cout << endl;    return 0;}

0 0
原创粉丝点击