数据结构与算法-学习笔记(7)-冒泡排序

菜鸟一枚,
刚刚学习数据结构与算法,
为了加深理解,
所以与同学们分享学习过程。

今天学习的是,
冒泡排序!!!

冒泡排序:两两相邻进行比较,若返序,则交换,直到没有反序

那么让代码说话:

#include <stdio.h>
#include <stdlib.h>

//ctrl+shift+c  注释多行
//ctrl+shift+x  取消注释

void bubosort(int k[],int n)   //冒泡排序,从小到大
{
    int i,j,temp,flag;
    flag=1;
//    for(i=0;i<n-1;i++)   //假冒泡
//    {
//        for(j=i+1;j<n;j++)   //但这个排序方法不符合两两相邻比较
//        {
//            if(k[i]>k[j])  //若前一个大于后一个,交换顺序
//            {
//                temp=k[j];
//                k[j]=k[i];
//                k[i]=temp;
//            }
//        }
        for(i=0;i<n-1&&flag;i++)  //没有执行到移位操作,此循环提早退出
        {
            for(j=n-1;j>i;j--)   //
            {
                flag=0;   //没有执行到移位操作,
                if(k[j-1]>k[j])  //相邻比较,交换顺序
                {
                    temp=k[j-1];
                    k[j-1]=k[j];
                    k[j]=temp;
                    flag=1;
                }
            }
        }
}


int main()
{
    int i,a[10]={4,3,6,1,0,8,7,2,9,5};
    bubosort(a,10);
    printf("排序后结果为:");
    for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
        }
    return 0;
}

在这里插入图片描述
若有错误的地方,请同学们指出。
谢谢同学们的阅读!!!

发布了28 篇原创文章 · 获赞 15 · 访问量 1061

猜你喜欢

转载自blog.csdn.net/qq_43765237/article/details/105492003