目录
冒泡排序
冒泡排序原理图
DEMO
#include <iostream>
#include <iomanip>
using namespace std;
/**
name: 冒泡排序法
number[] 传入数组
length 数组长度
setw() 需要导入 #include <iomanip>
------------------------------
Ps: 这是一个lib.h的头文件
代码在VS2019上已运行测试
*/
void Pmaopao(int number[], int length)
{
cout << "冒泡排序:从大到小输出:" << endl;
for (int i = 0; i < length-1; i++)
{
for (int j = 0; j < length-i-1; j++)
{
if (number[j] < number[j + 1])
{
number[j] = number[j + 1] + number[j];
number[j + 1] = number[j] - number[j + 1];
number[j] = number[j] - number[j + 1];
}
}
}
for (int i = 0; i < length; i++)
{
cout << setw(8) << number[i];
}
}
运行
#include <iostream>
#include "lib.h"
using namespace std;
int main()
{
// 定义一组数
int number[] = {10, 20, 50, 8, 70, 80, 72, 56};
// 计算数组大小
int array_size = sizeof(number) / sizeof(int);
Pmaopao(number,array_size);
return 0;
}
选择排序
冒泡排序原理图
DEMO
#include <iostream>
#include <iomanip>
using namespace std;
/**
name: 选择排序法
number[] 传入数组
length 数组长度
setw() 需要导入 #include <iomanip>
------------------------------
Ps: 这是一个lib.h的头文件
代码在VS2019上已运行测试
*/
void Pxuanzhe(int number[], int length)
{
cout << "选择排序:从小到大输出" << endl;
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; j++)
{
if (number[i] > number[j])
{
number[i] = number[i] ^ number[j];
number[j] = number[i] ^ number[j];
number[i] = number[i] ^ number[j];
}
}
}
for (int i = 0; i < length; i++)
{
cout << setw(8) << number[i];
}
cout << endl;
}
运行
#include <iostream>
#include "lib.h"
using namespace std;
int main()
{
// 定义一组数
int number[] = {10, 20, 50, 8, 70, 80, 72, 56};
// 计算数组大小
int array_size = sizeof(number) / sizeof(int);
Pxuanzhe(number,array_size);
return 0;
}
说明
- 冒泡排序法原理图和选择排序法原理图均来自百度
- 本人运行环境VS2019 专业版,代码已运行测试
- 如有问题欢迎留言