2018年7月15日-冒泡排序法

/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年7月15日
*版本号:v1.0
*
*问题描:;第一个冒泡排序法
*输入描述:;
*程序输出:;。
*/
#include <stdio.h>
#define n 10
int main()
{
    int a[n]={123,5,9,11,33,6,9,76,100,3};
    int i=0,j=0,t=0;
    for(i=0;i<n;i++)//控制每一元素,比较的次数//yi<n-1,否则多一次运算!!!
    {
        for(j=0;j<=n-i-1;j++)//每个元素具体的比较
        {
            if(a[j]>a[j+1])//此处若为小于号,则排序为由大到小
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    for(i=0;i<n;i++)//分别输出数组元素
    {
        printf("%d\t",a[i]);
    }
    return 0;
}


/*
*copyright(c) 2018,HH
*All rights reserved.
*作 者:HH
*完成日期:2018年7月15日
*版本号:v1.0
*
*问题描:调用bubblesort(char a[],int n)函数实现字符数组元素的排序!
*输入描述:;
*程序输出:;。
*/
#include <stdio.h>
void bubblesort(char a[],int n);
int main()
{
    int i;
    char d[10]={'a','r','v','p','o','m','e','t','u','c'};
    bubblesort(d,10);
    for(i=0;i<10;i++)
    {
        printf("%c ",d[i]);
    }
    return 0;
}

void bubblesort(char a[],int n)
{
    int i,j;
    char t;
    for(i=0;i<n-1;i++)//此处为n-1
    {
        for(j=0;j<n-1-i;j++)//此处为n-1-i
        {
            if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    return;//无需返回值,但还要写return
}


猜你喜欢

转载自blog.csdn.net/pl0020/article/details/81054628
今日推荐