![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 51
yummy_alice
这个作者很懒,什么都没留下…
展开
-
给定两个整形变量的值,将两个值的内容进行交换
#include #include int main(){int a = 1, b = 2, c;c = a;a = b;b = c;printf("a=%d,b=%d\n",a,b);//getchar()system("pause");return 0;}给定两个整形变量的值,将两个值的内容进行交换。以上是最基础的做法,利用了原创 2017-11-10 15:37:29 · 313 阅读 · 0 评论 -
数据结构之二叉搜索树
二叉搜素树,又名二叉查找树,二叉排序树。 它具有以下特点: 1、若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2、若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3、它的左、右子树也分别为二叉排序树。 下面我们实现以下二叉搜索树的一些基本操作: 1、初始化 2、销毁 3、插入 4、删除 5、查找 ...原创 2018-06-06 17:27:03 · 173 阅读 · 0 评论 -
数据结构之堆的基本操作
今天我们来说一说堆,堆是一个完全二叉树,堆分大堆和小堆。小堆: 这个树的根节点是这个树中的最小的元素 对于任意一个子树来说, 子树的根节点, 小于左右孩子节点的值. 大堆: 这个树的根节点是这个树种的最大元素 对于任意一个子树来说, 子树的根节点, 大于左右孩子节点的值. 下面我们画图来说明一下。下面我们实现堆的基本操作1、定义一个堆 我们定义一个堆的结构体,将堆...原创 2018-05-26 14:20:51 · 416 阅读 · 0 评论 -
数据结构之哈希变形(位图)
Bitmap.h#pragma once#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdint.h>typedef uint64_t BitmapType;typedef struct Bitmap{ BitmapType* data;...原创 2018-05-25 10:04:23 · 167 阅读 · 0 评论 -
顺序队列
SeqQueue.h#pragma once#include <stdio.h>#include <stddef.h>#define SQUEUEMAX 1000typedef char SeqQueueType;typedef struct SeqQueue{ SeqQueueType data[SQUEUEMAX]; size_t he...原创 2018-04-20 15:32:16 · 89 阅读 · 0 评论 -
顺序栈
SeqStack.h#pragma once#include <stdio.h>#include <stddef.h>#include <stdlib.h>typedef char SeqStackType;typedef struct SeqStack{ SeqStackType* data; size_t capacity;/...原创 2018-04-20 15:23:43 · 151 阅读 · 0 评论 -
栈和队列笔试题
1、最小栈#include <stdio.h>#include "seqstack.h"typedef struct Min_SeqStack { SeqStack stack; }Min_SeqStack;void Min_SeqStackPrint(Min_SeqStack* s){ if(s == NULL) { return; } ...原创 2018-04-22 21:24:27 · 200 阅读 · 0 评论 -
实现一个有头结点有环的双链表
在之前的博客里我们讲到了不带头节点不带环的单向链表,今天我们来实现一个有头结点有环的双向链表。 我们首先设置一个头结点,这个头结点的数据是无意义的,我们再设置一个环,让这个链表的尾巴指向头称为一个带环链表。相比于之前的单向链表,这次我们多加了一个prev指针,成为双向链表。如图就是我们的有头有环的双向链表。画的太丑了.... 话不多说,直...原创 2018-04-06 16:27:41 · 228 阅读 · 0 评论 -
常见面试题
1、strlen 和 size of 的区别通常我们计算一个数组的大小用strlen和size of 来计算,那么两者有什么区别呢?(1)strlen是一个函数 ,而size of 是一个运算符。(2)size of计算的是这个数组所存储的内存数(字节大小),可以用类型做参数,而strlen相当一个计数器,只能用char*做参数,计算的是字符串数组的元素个数 ,以 \n 结尾。2 ...原创 2018-04-18 15:26:54 · 132 阅读 · 0 评论 -
自主实现一个简单的myshell
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/wait.h>#include <string.h>void dasan(char buf[],char *argv[]){ int argc = 0; char *p...原创 2018-03-28 12:47:12 · 400 阅读 · 0 评论 -
完成单链表的后续操作(实现一个无头无环的单链表)
之前我们完成了顺序表的一些操作,今天我们就来说一说链表。 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一...原创 2018-03-27 19:55:25 · 218 阅读 · 0 评论 -
常见链表面试题
头文件以及定义的节点都在上一篇的单链表功能实现里面有写逆序打印单链表递归方式简洁明了void linklist_reverseprintf(linklist *head){ if(head == NULL) { return;//空链表 } linklist_reverseprint(head->next); pr...原创 2018-04-09 16:21:06 · 124 阅读 · 0 评论 -
位段,枚举,联合
前面我们说过了自定义类型,包含结构体,位段,枚举,联合。前一篇我们总结了结构体,今天来说一下位段,枚举,联合。 一、位段 1、位段概念 C语言中允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单元的成员称为“位段”或“位域”。 (1)位段的成员可以是int,unsigned int,signed int,都是整形类型。 ...原创 2018-02-28 17:18:49 · 102 阅读 · 0 评论 -
结构体类型创建,初始化及内存对齐。
今天我们来说一下自定义类型,包含结构体,位段,联合,枚举。 首先来看结构体所包含的要点,结构体类型创建 ,结构体初始化及结构体内存对齐的问题。 一、结构体类型的创建分为两大类。 1,有名结构体的创建 (1). 定义类型的同时,完成变量的定义。 struct Student{char name[100] ;char sex ;int age ;}stu...原创 2018-02-27 17:51:24 · 323 阅读 · 0 评论 -
谈谈函数的调用
#include<stdio.h>#include<stdlib.h>#include<windows.h>int fun(int x,int y){int z=x+y;return z;}int main(){int a=0xAAAAAAAA;int b=0xBBBBBBBB;int c=fun(a,b);printf("you should run here\n");pr原创 2017-12-07 17:40:27 · 197 阅读 · 0 评论 -
求10 个整数中最大值
#include #include int main(){int arr[10], i, max = 0;for (i = 0; i {scanf_s("%d", &arr[i]);if (arr[i]>max)max = arr[i]; }printf("最大的数,%d", max);system("pause");return 0;原创 2017-11-10 15:49:55 · 246 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器.
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...原创 2017-11-10 15:47:47 · 231 阅读 · 0 评论 -
sizeof和strlen的用法及区别
通常我们计算一个数组的长度都喜欢用sizeof和strlen来计算。今天就来说说sizeof和strlen具体的用法以及他们之间的区别。sizeof首先sizeof(…)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用si...原创 2018-07-27 16:09:46 · 468 阅读 · 0 评论