#include <stdio.h>
#include <stdlib.h>
//冒泡排序
void BubbleSort(int *array,int n)
{
int temp;
for (int i=n-1;i>0;i--)
{
for (int j=0;j<i;j++)
{
if (*(array+j)>*(array+j+1))
{
temp=*(array+j);
*(array+j)=*(array+j+1);
*(array+j+1)=temp;
}
}
}
}
//改进的冒泡排序,在一次冒泡的过程中,如果没有发生交换,则已经有序
void ImprovedBubbleSort(int *array,int n)
{
int flag,temp;
for (int i=n-1;i>0;i--)
{
flag=0;//每次冒泡前将flag置0
for (int j=0;j<i;j++)
{
if (*(array+j)>*(array+j+1))
{
temp=*(array+j);
*(array+j)=*(array+j+1);
*(array+j+1)=temp;
flag=1;//只要发生了一次
冒泡排序及其改进算法C语言实现
最新推荐文章于 2022-12-12 21:01:29 发布
本文介绍了冒泡排序的基本原理,并通过C语言实现了冒泡排序、改进的冒泡排序、进一步改进的冒泡排序以及双向冒泡排序。在改进的排序算法中,通过设置标志位来优化了冒泡过程,提高了排序效率。
摘要由CSDN通过智能技术生成