选择排序C++实现
程序员文章站
2024-03-16 16:05:16
...
选择排序
文件
TestUtil.h
TestUtil.cpp
main.cpp
代码实现
TestUtil.h
#pragma once
class TestUtil
{
public:
static void selectSort(int a[], int sz);
};
TestUtil.cpp
#include "TestUtil.h"
#include <algorithm>
#include <iostream>
void TestUtil::selectSort(int a[], int sz)
{
// 逐个选a[i]作为基准,取a[i]后面的数字与其比较,将比a[i]小的数与a[i]做交换,保证a[i]永远比其后面的数字小
for (int i = 0; i < sz-1; i++)
{
for (int j = i; j < sz; j++) {
if (a[i] > a[j])
std::swap(a[i], a[j]);
}
}
}
main.cpp
#include<iostream>
#include"TestUtil.h"
#include "stdlib.h"
using namespace std;
int main() {
const int sz = 20;
int a[sz];
for (int i = 0; i < sz; i++)
{
a[i] = 1 + rand() % (1000 - 1);
std::cout << a[i] << " ";
if ((i + 1) % 5 == 0)
std::cout << "\n";
}
TestUtil::selectSort(a, sz);
std::cout << "\nAfter sort:\n";
for (int i = 0; i < sz; i++)
{
std::cout << a[i] << " ";
if ((i + 1) % 5 == 0)
std::cout << "\n";
}
return 0;
}
结果
42 486 341 527 189
740 490 388 989 489
711 174 305 844 971
492 998 954 832 442
After sort:
42 174 189 305 341
388 442 486 489 490
492 527 711 740 832
844 954 971 989 998
E:\Exercise2020\Exercise\Debug\Exercise.exe (进程 20308)已退出,代码为 0。
按任意键关闭此窗口. . .
下一篇: cocos2dx 播放gif