
C语言
Kolde
这个作者很懒,什么都没留下…
展开
-
排序算法-基数排序(radixSort)-C
思路:基数排序是一种非比较排序,将整数按位数拆分不同的数字,依次对ge时间复杂度:程序:参考:原创 2021-06-11 20:47:18 · 280 阅读 · 0 评论 -
排序算法-桶排序(bucketSort)-C
思路:桶排序是计数排序的升级,计数排序可以理解为一个桶只能放同样大小的一个或多个值,因为不同桶存放的值是连续大小,这样如数组元素大小不连续就可能有多个桶是空的;而桶排序是一个桶可以存放一定范围大小的一个或多个值(比如,存放范围是10,那么大小再10以内的元素可能落在一个桶里面),然后再对每个桶里面里面的元素排序,最后从小到大将所以非空桶的元素输出。基本步骤:时间复杂度:程序:参考:...原创 2021-06-11 20:05:36 · 505 阅读 · 0 评论 -
排序算法-计数排序(CountingSort)-C
思路:计数排序不是基于比较的排序,其核心思想是将输入数据的值时间复杂度:程序:参考:原创 2021-06-11 19:30:53 · 184 阅读 · 0 评论 -
排序算法-快速排序(quickSort)-C
思路:快速排序也是一种分治的递归思想。基本步骤:时间复杂度:程序:参考:原创 2021-06-11 18:50:47 · 239 阅读 · 1 评论 -
排序算法-归并排序(MergeSort)-C
思路:使用分治思想,将一个数组分成两个zi,分别对这两部分进行排序,然后将时间复杂度:程序:参考:原创 2021-06-07 18:19:52 · 412 阅读 · 0 评论 -
排序算法-堆排序-C
思路:首先将输入数据构建最大堆,(构建最大堆而不是最小堆的yuan'yi)时间复杂度:程序:参考:原创 2021-06-04 19:04:55 · 138 阅读 · 0 评论 -
排序算法-希尔排序(Shellsort)-C
思路:时间复杂度:程序:参考:原创 2021-06-02 19:06:21 · 220 阅读 · 0 评论 -
排序算法-插入排序-C
思路:时间复杂度:程序:参考:原创 2021-06-01 19:13:59 · 108 阅读 · 0 评论 -
排序算法-选择排序-C
思路:时间复杂度:程序:参考:https://www.runoob.com/w3cnote/selection-sort.html原创 2021-06-01 16:57:17 · 92 阅读 · 0 评论 -
排序算法-冒泡排序-C
思路:从前往后,比较每一对相邻的两个元素,如果逆序就交换顺序,第一轮比较后最大元素放在最后,chongfu时间复杂度:程序:参考:原创 2021-06-01 12:21:55 · 93 阅读 · 0 评论 -
C语言 数组初始化的三种常用方法({0}, memset, for循环赋值)以及原理
转载链接:https://www.cnblogs.com/fnlingnzb-learner/p/8057257.html目录概述效率:原理:结论:附录:概述C语言中,数组初始化的方式主要有三种:1、声明时,使用 {0} 初始化;char array[ARRAY_SIZE_MAX] = {0}; 2、使用memset;char array[ARRAY_SIZE_MAX]; memset(array, 0, ARRAY_SIZE_MAX);3、用fo转载 2021-05-25 16:02:57 · 929 阅读 · 0 评论 -
C 位数组 (Bitarray)
目录1.设置2.清除3.测试参考:1.设置#define SetBit(A,k) ( A[(k/32)] |= (1 << (k%32)) ) 2.清除#define ClearBit(A,k) ( A[(k/32)] &= ~(1 << (k%32)) ) 3.测试#define TestBit(A,k) ( A[(k/32)] & (1 << (k%32)) )参考:http:原创 2021-04-26 20:40:12 · 475 阅读 · 0 评论 -
C语言printf(““),浮点数打印保留有效位数,小数部分的四舍五入
1.printf("%3.0f",floatNum):不保留小数说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽;注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分2.printf("%6.2f".floatNum):保留两位小数说明:%6.2f 表明待打印的数(floatNum)至少占6个字符原创 2017-07-13 19:16:38 · 147372 阅读 · 7 评论 -
C语言 printf(“%x,%d,%c“,) 输出 字符类型
1.问题描述printf("");函数打印 char 类型, 会出现打印错误,程序和结果如下:#include <stdio.h>int main(){ char a, b,c,d; a = 0x64; b = 0x79; c = 0x80; d= 0xc8; printf("%%x: a=%x; b=%x; c=%x; d=%x;\n", a, b, ...原创 2018-11-27 21:38:37 · 21835 阅读 · 0 评论 -
C 语言 Segmentation Fault
转载:https://blog.youkuaiyun.com/u010150046/article/details/77775114 注意:1.声明指针首先初始化;2.使用指针前判断是否位空;3.指针操作数组时候,判断是否数组越界;4.指针指向获取的数据流,应当在内存回收前使用,或者将数据流先拷贝新的内存空间;5.printf("%s") 输出的指针 ,可能导致指针越界;...转载 2018-11-27 21:45:26 · 1632 阅读 · 0 评论 -
yum /usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks
问题:centos 使用 yum 提示There was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was: /usr/lib64/python2.7/site-packages/pycurl.so: undefined sy...原创 2019-01-04 17:24:50 · 2925 阅读 · 1 评论 -
使用 libconfig 出现 ” (null):0 - file i/o error “ && 编译时路径和运行时路径
问题:使用libconfig 编译没有问题,运行时候出现 : “(null):0 - file i/o error ”原因:没有找到配置文件,配置文件名字没有写对, 配置文件路径没有写对,(可以是绝对路径,也可以是相对路径,建议相对路径)注意:这里说到上述第2点,配置文件路径不对,如果是相对路径,一定要注意:!!!(编译时路径和运行时路径)解释:编译时路径:(举...原创 2019-01-10 20:50:05 · 735 阅读 · 0 评论 -
gcc -I -i -L -l 参数区别 / -l(静态库/动态库)
介绍gcc - 参数-I( i 的大写) :指定头文件路径(相对路径或觉得路径,建议相对路径)-i :指定头文件名字 (一般不使用,而是直接放在**.c 文件中通过#include<***.h> 添加)-L :指定连接的动态库或者静态库路径(相对路径或觉得路径,建议相对路径)-l (L的小写):指定需要链...原创 2019-01-08 17:15:57 · 37588 阅读 · 1 评论 -
C/C++ 读取配置(config)文件 开源库(libconfig)
1.官网:https://hyperrealm.github.io/libconfig/2.github:https://github.com/hyperrealm/libconfig3.安装:cd到解压文件目录,依次运行如下命令./configure make (运行完生成 .so 和 .a) make check make install...原创 2019-01-08 18:01:52 · 15682 阅读 · 1 评论 -
c语言中的const的作用及解析
转载:http://www.cnblogs.com/zhangjiansheng/p/6527708.html简介:有时候我们希望定义这样一种变量,它的值不能被改变,在整个作用域中都保持固定。例如,用一个变量来表示班级的最大人数,或者表示缓冲区的大小。为了满足这一要求,可以使用const关键字对变量加以限定:const int MaxNum = 100; //班级的最大人数这样 Ma...转载 2019-01-10 10:57:29 · 2095 阅读 · 0 评论 -
C 语言使用Libcurl /curl 发送数据 (可以设置http header)
1.环境Windows 2.依赖库文件头文件:<curl.h>lib:libcurl.a libcurl.dll.adll:libcurl.dll下载地址:https://curl.haxx.se/windows/3.程序//#define CURL_STATICLIB#include <stdio.h>#include &l...原创 2018-11-27 20:55:39 · 9823 阅读 · 1 评论 -
C 语言解析 json 格式数据
转自:https://github.com/cesanta/frozen 函数:函数原型:int json_scanf(const char *str, int str_len, const char *fmt, ...);示例1://str is a JSON string :{ "a": 123, "b": "hi", c: true }int value = 0;...转载 2018-11-27 20:17:21 · 1393 阅读 · 0 评论 -
C 语言获得当前时间 (微秒)
转自:https://gist.github.com/sevko/d23646ba07c77c15fde9Get the current time in microseconds in C.程序:#include <sys/time.h>/** * Returns the current time in microseconds. */long getMicro...转载 2018-11-27 20:01:24 · 3500 阅读 · 2 评论 -
两个变量交换值 优化方法
1.一般用法void swap(int *x, int *y){ int temp; temp = *x; *x = *y; *y = temp;}2.不声明中间变量void swap2(int *x,int *y){ *x = *x^*y; *y = *x^*y; *x = *x^*y;}解释:两个公式:a=a^b^b;b=a^b^原创 2017-08-07 21:15:24 · 733 阅读 · 0 评论 -
换个角度理解C语言getchar()、getch()、scanf()函数
getchar()、getch()、scanf()函数理解!原创 2017-06-09 09:17:27 · 1811 阅读 · 0 评论 -
C语言printf("")左对齐和右对齐
1.左对齐printf("%d\n,101010");默认打印格式为左对齐;printf("%-10d\n",101010);在数字宽度前面加一个“-”。2.右对齐printf("%10d\n",101010);在%和d之间加上数字宽度,就可以右对齐。原创 2017-07-10 16:12:12 · 208842 阅读 · 4 评论 -
IEEE754标准 单精度(32位)/双精度(64位)浮点数解码
1.标准http://grouper.ieee.org/groups/754/2.单精度(32位)https://www.h-schmidt.net/FloatConverter/IEEE754.html3.双精度http://www.binaryconvert.com/convert_double.html原创 2017-07-14 09:24:34 · 34887 阅读 · 4 评论 -
C语言getchar()、getch()、scanf()对比(一)
C语言getchar()、getch()、scanf()函数原创 2017-06-09 16:33:53 · 4943 阅读 · 0 评论 -
C语言getchar()、getch()、scanf()对比(二)
C语言getc(), getchar(), getch(),getche,scanf()原创 2017-06-09 17:11:13 · 11417 阅读 · 4 评论 -
LNK2019无法解析的外部符号—***,该符号在函数中—***中被引用
LNK2019无法解析的外部符号—***,该符号在函数中—***中被引用原创 2017-07-01 12:54:18 · 2671 阅读 · 0 评论 -
C语言 error C2143: syntax error : missing ';' before 'type'
1.问题描述问题展示如图所示:所有IDE为VS2010。源代码展示:源代码是一个将华氏温度转换为摄氏温度的程序。#include //void Fahr_Celsius()int main(){ //int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; pr原创 2017-07-10 16:59:53 · 6219 阅读 · 0 评论 -
C语言 快速排序
1.快速排序,从小到大,输出第几大数据;输入:第一行输入数据 ,空格分开;第二行输入第几大的整数;输出:第几大的数;程序:#include void swap(long long v[],int i,int j){ long long temp; temp=v[i]; v[i]=v[j]; v[j]=temp;}void qsort(long long原创 2017-08-26 19:07:31 · 574 阅读 · 0 评论 -
C语言 两个整数合并成一个整数
#include long long mergeinteger1(int a, int b){ long long sum = 0; //if (b >= 0) int mid = b; sum += a * 10; /*while (mid /= 10) { sum *= 10; }*/ for (;mid/=10;sum*=10); sum += b; retur原创 2017-09-18 17:04:19 · 14341 阅读 · 0 评论 -
调用自己生成的动态链接库(DLL) VS调试(debug)右键无法进入函数定义
问题描述:自己建立的动态链接库工程,编译后生成的DLL文件。在另一个VS工程中使用DLL中的函数,在调试的时候发现右键无法跳转到函数定义位置(两个工程文件在同一设备上)。问题分析:无法跳转说明该函数无法定位到源文件的位置,这是因为在动态链接库工程中没有配置生成调试信息的选项,所以在使用该DLL的工程中调试的时候无法跳转进函数定义的文件。解决方案:在动态链接库工程中,更改配置选项...原创 2018-08-31 09:44:16 · 2993 阅读 · 0 评论 -
warning: implicit declaration of function ‘XXX’; did you mean ‘YYY’? [-Wimplicit-function-declarati
1. 问题:warning: implicit declaration of function ‘XXX’; did you mean ‘YYY’? [-Wimplicit-function-declaration]2. 原因:“XXX”这个函数所在头文件没有添加。3. 解决:找到函数“XXX”所在头文件添加到工程中。4. 举例: warning: implicit d...原创 2018-08-20 19:24:47 · 15225 阅读 · 1 评论 -
由于找不到msvcr110.dll,无法继续执行代码。重新安装程序可能会解决此问题。VS2010 C++工程
问题用VS2010开发C++,一个控制台程序,在本机运行没有问题,但是拷贝到其他电脑运行提示如下错误(提示找不到MSVCP100D.dll): 原因工程默认没有使用静态联编,没有把必须的DLL库一块编译进去导致的。 解决右击工程→属性→配置属性→C/C++→代码生成:将运行库修改为多线程调试 (/MTd) 然后重新生成,第一次可能会报很多错,忽略再编译一...转载 2018-08-19 19:20:35 · 31447 阅读 · 0 评论 -
C语言 最大子序列求和完整程序
1.测试100%# include long long MaxSubSequenceSum_4(long long A[], long long N){ long long ThisSum,MaxSum,i; ThisSum=0; MaxSum=A[0];//注意 for(i=0;i<N;i++) { ThisSum+=A[i]; if(Th原创 2017-08-26 19:13:14 · 4079 阅读 · 0 评论 -
快速排序
1.递归实现1.1C语言#include void swap(int v[], int left, int right){ int temp = v[left]; v[left] = v[right]; v[right] = temp;}void qsort(int v[], int left, int right){ int i, last; //void sw原创 2017-10-18 17:10:44 · 321 阅读 · 0 评论 -
C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果
C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果IEEE754标准 单精度(32位)/双精度(64位)浮点数解码float double 有效位数原创 2017-07-15 12:30:18 · 41111 阅读 · 4 评论 -
统计输入整数序列两两组合是7的倍数的个数
输入:第一行整数n,第二行n个整数输出:两两组合可以被7整除的个数#include long long mergeinteger1(int a, int b){ long long sum = 0; //if (b >= 0) int mid = b; sum += a * 10; /*while (mid /= 10) { sum *= 10; }*/原创 2017-09-18 18:46:50 · 981 阅读 · 0 评论