linux-c
旺仔OO糖
~
展开
-
排序算法三——插入排序
排序算法三:插入排序有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元原创 2017-08-08 09:55:05 · 540 阅读 · 0 评论 -
指针数组,数组指针,指向指针数组的指针
问:Char RollNum[30][4]; char (*p)[4]; char *q[4] char **r = q;RollNum、p、q、r三者异同, 怎么区分。 答: RollNum 是二维数组名,即是数组首行的地址,相当于 &RollNum[30] (*p)[4]是一个指向包含四个元素的一维数组的指针变量,如果RollNum作为原创 2017-07-25 14:55:11 · 768 阅读 · 0 评论 -
查找字符串中子字符串出现次数
在学linux c过程中,遇到一个问题,就是查找一个长的的字符串中子字符串出现的次数。例如查找adbcabcabc中 abc 出现的次数。 自己写的时候遇到了一些小问题,折腾了一下午写出来的程序都有瑕疵,在csdn上找这个程序代码,没有发现一个正确的程序,都是有瑕疵的。 终于写出这个程序,很完美的解决了一些小bug,甚至可以测试一些很变态的例子,例如在 ababababba中查找 aba 出现原创 2017-07-29 21:42:15 · 1763 阅读 · 2 评论 -
数组指针,字符串指针的几种定义方法
一:数组指针的定义方法int a[10] = {1,2,3,4,5,6,7,8,9,0};int * p;p = &a[0]; // 等价于p = a;2.int a[10] = {1,2,3,4,5,6,7,8,9,0};int * p = a; //定义指针时直接赋值;二:输入字符串的方法1.直接把字符串输入到字符数组char str[] = "I love China!";p原创 2017-07-25 10:15:59 · 3814 阅读 · 0 评论 -
打印系统当前时间
代码:#include<time.h>#include<stdio.h>int main(){struct tm *t;time_t tt;time(&tt);t=localtime(&tt);printf("%4d年%02d月%02d日 %02d:%02d:%02d\n",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm原创 2017-08-12 15:47:05 · 1591 阅读 · 0 评论 -
关于数组地址问题
c语言中“指针”是算是比较难的一个问题,而“指针”就是“地址”,知道数组的地址问题,才能在用指针数组的时候得心应手。 下面是一段代码#include <stdio.h>int main(){ int a[3] = {1, 2, 3}; int b[2][3] = {1, 2, 3, 4, 5, 6}; printf ("%p\t%p\n", &a, &a + 1);原创 2017-07-21 11:09:19 · 821 阅读 · 0 评论 -
文件I/O与标准I/O
返回值汇总:printf的四种输出方式 ★1、遇到 \n 2、遇到scanf() 3、fflush(stdout) 4、缓冲区满函数fefo()feof()函数可以检查到文件读写位置标记是否移到文件末尾,一句话概括就是判断文件有没有读完。读完了fefo(fp)返回值为1,否则为0。用文件I/O编写拷贝文件程序代码:/*******************原创 2017-08-13 19:58:09 · 464 阅读 · 1 评论