C
苍白的咏叹调
寻找一朵相似的花。。。
展开
-
C语言链表就地逆置操作
在c语言中,为了节省空间和时间,我们可以采取在原空间上实现链表的逆置每次读取一个节点时,将他用头插法的方法加入到链表中,最后得到的即是逆置后的链表了关键掌握头插法的思路:q->next=l->next;l->next=q;下面是具体方法实现以及说明:void PrintLinklist_back(linklist l) { linklist ...原创 2018-03-27 10:50:09 · 4192 阅读 · 0 评论 -
C语言递归创建一颗二叉树
1.在这里给出结构体信息:typedef struct tree { struct tree *lchild; //左孩子节点 struct tree *rchild; //右孩子节点 char data;//数据域}Tree,*Bitree;在图纸上画出自己所要创建的二叉树,这里是用先序遍历的方法来创建一颗二叉树: 2.空节点用#代替,这里给出一个...原创 2018-03-27 11:11:10 · 15310 阅读 · 6 评论 -
判断一棵二叉树是否为平衡二叉树
1.先给出树节点信息typedef struct tree{ struct tree *lchild; struct tree *rchlid; int data;}tree,* Bitree;2.原理判断一棵树是否为平衡二叉树,要满足每个节点的左右子树的高度之差的绝对值不大于1。因此,我们这里可以比较每个节点的左右字数高度,判断他们差的绝对值是否满足平衡二叉树的条...原创 2018-03-29 10:15:36 · 985 阅读 · 1 评论 -
C语言结构体指针的使用方法
1.首先定义一个结构体,给它取别名:typedef struct node{struct node * next;//指向下一节点int data;//数据域}pnode,*linklist;;//别名与指针名2.定义结构体指针与指针变量,给出几种不同的定义方式struct node *a,b;pnode *c,d;linklist p;他们别名的关系如下:...原创 2018-05-09 10:08:46 · 13260 阅读 · 3 评论 -
int型数据超过范围后值变化
当int型整数超出自己范围时,会从它的最小值重新开始,例如:int i=2147483647;//int范围:-2147483648~2147483647i+1;//i=-2147483648unsigned int j=4294967295 ; //unsigned int范围:0~4294967295j+1; //j=0 代码如下:#include <std...原创 2018-06-11 11:16:51 · 12324 阅读 · 5 评论 -
C语言结构体的存储分配
1.简介若结构体里面包含多种数据类型,其如何在内存中分配存储空间呢?编译器在处理结构体空间分配时,采取的是对齐方式,按照结构体中成员中成员类型字节数最大的为标准,从上往下对结构体成员进行赋值,若当前成员的字节数小于最大成员字节数,接着为下一个连续分配内存,若下一个的内存分配后会大于最大成员字节数,则为当前成员补齐至最大成员字节数。2.具体解析#include<stdio.h...原创 2018-08-22 10:32:55 · 2418 阅读 · 0 评论 -
C语言中指针的使用方法
1.使用场景使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:#include<stdio.h>#include <stdlib.h>int main(int argc, char const *argv[]){ int a[5]={0,1,2,3,4}; int *b,*d; int c=2; in...原创 2018-08-17 16:07:23 · 20200 阅读 · 1 评论 -
用指针来表示二维数组的方法
1.类型说明int *b; //定义一个int型指针变量int *p[3]; //定义一个int型指针数组的变量int (*c)[3] 和 int (*)[3]: //定义一个指向3个整形数组的指针变量 2.初始化赋值假设二维数组为:int a[3][3]={{0,1,2},{3,4,5},{6,7,8}};(1)用指针b表示二维数组时为:int ...原创 2018-08-20 17:22:19 · 28825 阅读 · 0 评论