冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
主函数部分:头文件文件名为main.c,
主函数中调用的qwq()为冒泡排序的函数。
#include<iostream>
#include"qwq.h"//调用函数头文件
using namespace std;
int main()
{
int a[10],i,len=sizeof(a)/sizeof(a[0]);//计算数组长度
cout << "输入十个数" << endl;
for (i = 0; i < 10; i++)
{
cin >> a[i];//输入十个数
}
qwq(a,len);//使用冒泡排序函数
for (i=0;i<10;i++)
{
cout << a[i] <<" " ;//输出排序结果
}
system("pause");
return 0;
}
冒泡排序函数部分:文件名为qwq.c
具体步骤:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个;
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
#include"qwq.h"
void qwq(int* a, int len)
{
for (int i = 0; i < len - 1; i++)//冒泡次数
{
for (int j = 0; j < len - i - 1; j++)
{
if (a[j] < a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;//把最小值调到最后
}
}
}
}
头文件声明:此处头文件名为qwq.h
#include<iostream>
using namespace std;
void qwq(int* a,int len);
运行结果:
输入:
输入十个数
5 6 7 8 3 2 1 9 21 6
输出结果:
21 9 8 7 6 6 5 3 2 1 请按任意键继续. . .
C:\Users\yhh\Desktop\c++\指针_数组_函数\Debug\指针_数组_函数.exe (进程 14616)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .