●冒泡排序法(升序)
算法原理:
依次比较相邻两个元素的大小,若后面的比前面的小,则交换两个元素的位置
对每一对相邻元素作同样的工作,从第一对到最后一对。
进行一轮比较交换下来,最后的元素就会是最小的数了,这个数就不用参与后面的比较操作了
void bubblesort(int *arr,int n)
{
int i=0;
int j=0;
for(i=0;i<n-1;i++) //注意判定条件
{
for(j=0;j<n-i-1;j++) //注意判定条件
{
if(arr[j]>arr[j+1])
{
int temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
}
int main()
{
int arr[]={
1,4,2,6,5,8,7,9,10};
int n=sizeof(arr)/sizeof(arr[0]);
bubblesort(arr,n);
int i=0;
for(i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
バブルソートはこのように書かれています
おすすめ
転載: blog.csdn.net/cfk17829572643/article/details/109680987
おすすめ
ランキング