自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C语言:数组

# 一维数组的创建和初始化 数组的创建:在创建数组时,我们必须定义数组的类型和大小,数组的大小不能为0,数组中的元素类型都是相同的。 在内存中的储存 char a1[]={'a','b','c'}----------'a','b','c' char a2[3]=''abc''---------...

2019-08-18 21:51:55

阅读数 4

评论数 0

原创 数据结构:链表,广义表的深度长度,线性结构与非线性结构,队列与栈

优点 缺点 链表 1.用多少开多少,直接链上去,没有空间浪费 2.头尾插入效率高 O(1) 不支持随机访问,顺序访问 顺序表 1.支持随机访问,随机访问 1.增容时成倍增长,有空间浪费 2.中间或者头部插入数据时效率不高...

2019-08-18 21:49:37

阅读数 39

评论数 0

原创 C语言:求X的Y次方

double MyPow(int x,int y) { unsigned int z = (y>=0 ? y : -y); for(int tmp = 1; ;x *= x)//x=5 { if((z&1) != 0) { tmp *= x; } ...

2019-06-02 20:34:27

阅读数 211

评论数 0

原创 C语言:腾讯面试题

有一个集合由A-Z这26个字母组成,打印这个集合的所有子集,每个子集一行,写C代码实现,不能使用递归 void Show1()// { const char chars[] = "abcdefghijklmnopqrstuvwxyz"; for(int i=0;i&am...

2019-06-02 20:32:22

阅读数 142

评论数 0

原创 C语言:剑指offor

有序查找:就用折半查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。(5种方法) 1. 2. 3. 4. . 5. //第五种方法(结合折半和去...

2019-06-02 20:24:47

阅读数 22

评论数 0

原创 C语言:二维数组变一维数组

二维数组就是一维数组 直接循环 例如 a[3][4] 可以直接用*p指向 然后 p++ 只要不超过3x4就行 #include<stdio.h> #defineN3 #defineM4 intmain() { inta[N][M]={{1,2,3,4},{5,6,...

2019-06-02 15:41:27

阅读数 278

评论数 0

原创 C语言:KMP算法

//字符串查找(i回退) int BF(const char *str,const char *sub,int pos)//O(n*m),O(1) { int i = pos; int j = 0; int lenstr = strlen(str); int lensub = strl...

2019-06-02 11:26:59

阅读数 46

评论数 0

转载 C语言:字符串数组与字符串指针数组

1,首先,不论是局部,静态还是全局数组都必须在定义的时候初始化,否则就得通过其他方式,eg 循环操作,字符串处理函数strcpy() 2,附以下代码: 主要完成将”I am from china ”倒置为”china from am I”, 最开始编写时,将str定义为字符串数组,怎么都出...

2019-04-27 21:46:19

阅读数 392

评论数 0

转载 C与指针:指针

1.字节: 每个字节包含8个位,可以储存无符号值0至255,或有符号值-128-127。 2.指针变量 1.指针的初始化是用&地址符来完成的,它用于产生操作符的内存地址 100 104 108 ...

2019-04-27 21:45:30

阅读数 108

评论数 0

原创 C与指针:位运算

1、位运算符号&,|,^,~(取反,不分正负数),<<(标准规定在右边补0),>>(正数则左边补0, 负数标准没有规定在左边补充的数字,分为逻辑右移和算术右移,具体由编译器决定, windows平台和gcc采取算术右移即负数补...

2019-04-26 22:23:19

阅读数 42

评论数 0

原创 C语言:文件

1.打开与关闭文件 (1)fopen函数打开数据文件 fopen(文件名,使用文件方式); 例; fopen("a1","r"); 表示要打开的名字为"a1"的文件,使用文件方式为"读入"(r代表read,即...

2019-04-23 23:54:32

阅读数 67

评论数 0

原创 C语言:内存对齐

内存对齐(硬件寄存器设计的要求) *//1.前面所有成员字节数相加是当前成员的字节数的倍数,不是则补齐 *//2.整个结构体得大小要能整除最大单个成员的字节数 例子: 1. 2. 显然程序1 输出的结果为 8 2 输出的结果为 16 . 1.最大的数据成员是4bytes,1+...

2019-04-23 22:32:37

阅读数 40

评论数 0

原创 C语言:结构体

1.定义和使用结构体变量 1.结构体类型的一般形式: struct 结构体名 { 成员表列 }; 2.在声明类型的同时定义变量 struct 结构体名 { 成员表列 }变量名,变量名; 3.结构体变量的初始化和引用 (1)C99标准中允许对某一成员初始化,如: str...

2019-04-22 17:56:54

阅读数 6

评论数 0

原创 C语言:多种方法实现两数交换

交换两个数 首先,举一个例子,假设a=10,b=20. 第一种方法,借助一个临时变量来进行保存,这是最容易也是最直观的方法。 代码如下: #include <stdio.h> int main() { int a; int b; int temp...

2019-04-22 17:26:35

阅读数 48

评论数 0

原创 C语言:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.

假设在n进制下,下面的等式成立,n的值是(),567*456=150216. A,9 B,10 C,12 D,18 解:设567为1;456为2; 第一步;去1的个位和2的个位相乘得到42:在分别对A,B,C,D取余;看对A,B,C,D取余后那个值等于150216中的个位; 经过第一步后B...

2019-04-22 17:26:11

阅读数 26

评论数 0

原创 C语言:给出一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字。

给出一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字。 1, int GetFigures(int n) { int count= 0; do { n /= 10; count++; }while(n!=...

2019-04-22 17:25:39

阅读数 417

评论数 0

原创 C语言:时间复杂度与空间复杂度

算法效率主要从两方面分析:1,空间复杂度;2,时间复杂度 一个算法由控制结构和原操作组成,其执行时间取决于两者的综合效果。 将原操作重复操作执行的次数与问题规模n之间的关系记为函数f(n)。**1.空间复杂度** 空间复杂度记为该算法所消耗的存储空间,它是问题规模n的函数,记做S(n)=O(f(...

2019-04-10 16:24:51

阅读数 372

评论数 0

提示
确定要删除当前文章?
取消 删除