冒号排序法
分析:需要注意的是数组指针的形式为int arc[]。而定义的a[100]中,a代表数组首元素的地址。例如:int arr[10] 是数组,会分配 10 个 int 类型的空间,int arr[] 只是一个指针,只会为变量本身分配一个指针大小空间。
冒泡的思想即为把大数放后面。也可以通过将bubble函数中if(arc[j]>arc[j+1])更改成if(arc[j]<arc[j+1]),以此来实现小数放后面的思想。
#include<iostream>
void bubble(int arc[],int n);
void print(int arc[],int n);
int main()
{
int a[100],n;
std::cin>>n;
for(int i=0;i<n;i++)
std::cin>>a[i];
bubble(a,n);
print(a,n);
return 0;
}
void bubble(int arc[],int n)
{
int t;
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(arc[j]>arc[j+1])
{
t=arc[j];
arc[j]=arc[j+1];
arc[j+1]=t;
}
}
}
}
void print(int arc[],int n)
{
for(int i=0;i<n;i++)
{
std::cout<<arc[i]<<" ";
}
}