1.冒泡排序
作用: 最常用的排序算法,对数组内元素进行排序
1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
3. 重复以上的步骤,每次比较次数-1,直到不需要比较
实例: 用户输入一段大小的数组,用冒泡法对这段数组进行升序排序。
#include<iostream>
using namespace std;
int size=5;
int arr[5];
void userInput() //用户输入数组
{
cout<<"Enter array elements"<<endl;
for(int i=0;i<size;i++)
{
cin>>arr[i];
}
}
void print() //打印数组
{
cout<<"Array elements are:"<<endl;
for(int i=0;i<size;i++)
cout<<arr[i]<<" ";
cout<<endl;
}
int main(){
userInput();
/*
循环比较大小换位,第一个循环的意思是五个数需要移位4个,剩下最后一个位置也固定了。
第二个循环的意思是五个数两两换位时,需要换四次。四个数两两换位时,需要换3次,以此类推;
*/
for (int i=0;i<size-1;i++)
{
for (int j=0;j<size-1-i;j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
print();
system("pause");
return 0;
}