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
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章