[其他] 资料:C语言常用算法集

[复制链接]
40997|427
qazhouming 发表于 2023-7-30 20:18 | 显示全部楼层
感谢分享
cw232 发表于 2023-7-31 11:25 | 显示全部楼层
学习学习
风格不会让他给 发表于 2023-7-31 14:05 | 显示全部楼层
感谢分享
lingFF 发表于 2023-8-3 08:43 | 显示全部楼层
楼主厉害啊,辛苦了
blacksun77 发表于 2023-8-3 15:37 | 显示全部楼层
yszong 发表于 2023-8-3 22:18 | 显示全部楼层
楼主厉害啊,辛苦了
lizye 发表于 2023-8-3 22:19 | 显示全部楼层
楼主厉害啊,辛苦了
shimx 发表于 2023-8-3 22:21 | 显示全部楼层
学习学习
jiaxw 发表于 2023-8-3 22:22 | 显示全部楼层
楼主辛苦了
spark周 发表于 2023-8-3 22:23 | 显示全部楼层
楼主辛苦了
liliang9554 发表于 2023-8-3 22:25 | 显示全部楼层
谢谢分享。
午夜粪车 发表于 2023-8-3 22:27 | 显示全部楼层
谢谢提供资料
zhaoxqi 发表于 2023-8-3 22:28 | 显示全部楼层
辛苦啦 看看学习
gongche 发表于 2023-8-3 22:30 | 显示全部楼层
下载看看,谢谢分享资料。
huwr 发表于 2023-8-3 22:31 | 显示全部楼层
c语言的算法那可就太多了  还得结合数学的知识了
huanghuac 发表于 2023-8-3 22:34 | 显示全部楼层
很多应用其实都不是很需要算法 只有那些需要计算复杂变量的才需要算法提高效率
huanghuac 发表于 2023-8-3 22:36 | 显示全部楼层
一般的单片机都可以支撑什么规模的算法呢
happy_10 发表于 2023-8-3 22:38 | 显示全部楼层
交换算法
查找最小值算法
冒泡排序
选择排序
插入排序
shell排序 (希尔排序)
归并排序
快速排序
二分查找算法
查找重复算法
bqyj 发表于 2023-8-3 22:40 | 显示全部楼层
//冒泡排序
void looperSort(int *arr, int len){
    int i,j;
    for (i = 0; i < len - 1; ++i) {
        for (j = 0; j < len - 1-i; ++j) {
            if (arr[j]>arr[j+1]){
                swap(&arr[j], &arr[j+1]);
            }
        }
    }
}
wenfen 发表于 2023-8-3 22:41 | 显示全部楼层
//归并排序
void mergeSort(int *arr, int num) {
    int* a = arr;
    int* b = (int*) malloc(num * sizeof(int));
    int seg, start;
    for (seg = 1; seg < num; seg += seg) {
        for (start = 0; start < num; start += seg + seg) {
            int low = start, mid = min(start + seg, num), high = min(start + seg + seg, num);
            int k = low;
            int start1 = low, end1 = mid;
            int start2 = mid, end2 = high;
            while (start1 < end1 && start2 < end2){
                b[k++] = a[start1] < a[start2] ? a[start1++] : a[start2++];
            }
            while (start1 < end1){
                b[k++] = a[start1++];
            }
            while (start2 < end2){
                b[k++] = a[start2++];
            }
        }
        int* temp = a;
        a = b;
        b = temp;
    }
    if (a != arr) {
        int i;
        for (i = 0; i < num; i++)
            b[i] = a[i];
        b = a;
    }
    free(b);
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部