1. 程式人生 > >C語言兩大排序演算法

C語言兩大排序演算法

在C語言中,氣泡排序和選擇排序兩大演算法是非常重要的。今天小編就在這分享這兩大演算法的原始碼,希望初學者一定要熟練掌握。

#include<stdio.h>//氣泡排序;
int main(){
    int a[6];
    int i, j, t;
    printf("請輸入六個數字\n");
    for (i = 0; i < 6; i++){//給陣列賦值;
        scanf("%d", &a[i]);
    }
    for (j = 0; j < 6 - 1; j++){//排序開始;
        for (i = 0; i < 6
- 1 - j; i++){ if (a[i] < a[i + 1]){//交換數值; t = a[i]; a[i] = a[i + 1]; a[i + 1] = t; } } } for (j = 0; j< 6;j++){//列印排序後的順序; printf(" %d", a[j]); } return 0; } #include<stdio.h>//選擇排序演算法;
int main(){ int a[6]; int i, j, t, max; printf("請輸入六個數字!\n"); for (i = 0; i < 6; i++){//給陣列賦值; scanf("%d", &a[i]); } for (j = 0; j < 6 - 1; j++){//排序開始; max = a[j];//假定最大值; t = j;假定最大值下標; for (i = j + 1; i < 6; i++){ if (max < a[i]){//比較大小;
max = a[i];//記錄最大值和最大值下標; t = i; } } a[t] = a[j];//交換數值,將最大值放在陣列的第一位; a[j] = max; } for (i = 0; i < 6; i++){//列印排序後的陣列; printf(" %d", a[i]); } return 0; }

希望我這兩段原始碼能夠幫到初學C的朋友,也希望你們能多多練習,加以靈活運用。