欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

选择排序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。
按任意键关闭此窗口. . .