C学习--冒泡排序

2018-10-17  本文已影响16人  原鸣清

C语言和算法

最近写代码总有点力不从心的感觉,深感自己水平不足,所以在项目不忙的时候翻出C的教程再学习一下。在极客时间上买了王争老师的算法课,在大环境不好的情况下,就该潜心修炼,以待春天。
再补一个AppStore上的算法学习神器

Show Me Code

在学习了第一节冒泡排序时,在Xcode上自写了一遍。

//
//  main.c
//  NineC
//
//  Created by A$CE on 2018/10/13.
//  Copyright © 2018年 Iwown. All rights reserved.
//

#include <stdio.h>

void bubblingSort(uint8_t* ,int);

int main(int argc, const char * argv[]) {
    uint8_t data[13] = {1,8,7,9,3,6,5,23,8,4,12,16,2};
    int count = sizeof(data);
    printf("==========================\n");

    for (int i = 0; i < count; i ++) {
        printf("%d<",data[i]);
    }
    bubblingSort(data ,count);
    printf("==========================\n");
    for (int i = 0; i < count; i ++) {
        printf("%d<",data[i]);
    }
    printf("==========================\n");
    return 0;
}

void bubblingSort(uint8_t* data, int lenth) {
    int numCount = lenth;
    for (int i = numCount; i > 1; i --) {
        uint8_t lastO = data[i-1];
        uint8_t preLast = data[i-2];
        if (lastO < preLast) {
            uint8_t tmp = preLast;
            data[i-2] = lastO;
            data[i-1] = tmp;
        }
    }
    
    for (int t = 0; t < numCount-1; t ++) {
        if (data[t] > data[t+1]) {
            bubblingSort(data ,numCount);
            break;
        }
    }
}

最后

余非科班,然自从业以来,多番自习。枚举数组,且不多论,指针引用,略知一二。
知安全实乃当世之命脉,幕黑客穿梭网络如游侠;
修行不易,愿与诸君共勉之。

上一篇下一篇

猜你喜欢

热点阅读