随笔分类 - C
摘要:CMake 并不会自动链接 math 库,也需要手动链接,加上一句 target_link_libraries 即可 add_executable(radix_sort sorting/radix_sort.c) target_link_libraries(radix_sort m)
阅读全文
摘要:## 一、算法描述 选择排序是从待排序数组中通过比较选择最小(最大)的元素,将其放在数组的前面(后面)。重复遍历选择多次直到数组有序。遍历一次即找到当前未排序数组的最小(最大)值,那么剩下最后一个元素一定是最大(最小)的,最后一次遍历就不需要了,假设数组大小未n,就要遍历 n - 1次,也即是外层循
阅读全文
摘要:## 一、算法描述 假设待排序数组有 N 个整数,且范围是 1 到 M(或 0 到 M - 1)。留置一个数组称为 buckets,大小为 M,并初始化为 0。所以数组 buckets 有 M 个单元(或 “桶” ),开始的时候它们都是空的。遍历待排序数组,当 a~i~ 读入时 buckets[a~
阅读全文
摘要:一、相关问题 正常的 C 程序,像是使用了 stdio 或是 stdlib 等库的程序在编译时都是直接编译的,不需要指定任何链接选项。 例如: gcc test.c -o test 但是如果程序中使用了 math 库,直接编译会报如下错误: /usr/bin/ld: /tmp/cc1aTRz1.o:
阅读全文
摘要:## 一、算法描述 比较相邻两个元素,如果第一个比第二个大则交换两个值。遍历所有的元素,每一次都会将未排序序列中最大的元素放在后面。假设数组有 n 个元素,那么需要遍历 n - 1 次,因为剩下的一个元素一定是最小的,无需再遍历一次。因此需要两层循环,第一层是遍历次数,第二层是遍历未排序数组。 动图
阅读全文
摘要:[TOC](文章目录) # 一、前言 一开始在 Windows 上编译运行 C 用的是 MinGW,一堆毛病,比如输出中文乱码,在 Clion下输入后会自动输出,gcc 版本比较老等。换了用Cygwin后才发现这家伙真好,不仅没有上面的问题,还有一个包管理器能够选择很多不同版本的包。 # 二、安装
阅读全文
摘要:该代码来源于fedora的官方文档,源码地址:https://github.com/xbcsmith/cli-app // Node Info Cli App #include <sys/utsname.h> #include <stdio.h> #include <stdlib.h> #inclu
阅读全文
摘要:指定初始化器(designated initialize)是C99的新特性,该特性可以执行初始化数组的元素或结构的属性。 1.数组 例如只想初始化数组的最后一个元素,传统的C语法是这样的 int arr[6] = {0, 0, 0, 0, 0, 212}; // 传统C语法 而C99规定,可以在初始
阅读全文
摘要:## 1. 引言 最近重新学了一下C指针,主要是通过《C Primer Plus》这本书,该书讲的很到位,让我对指针有了全新的认识。写这篇文章的目的主要是为了总结知识,记录想法。 ## 2. 完整代码 ```c #include int main(void) { int urn[5] = {100,
阅读全文

浙公网安备 33010602011771号