
C语言
up六月上
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈数据结构快速排序算法
1962年Hoare提出的一种二叉树结构的交换排序方法,其基本思想为:任取待排序元素序列中的某元素为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后左右子序列重复该过程,直到所有元素都排列在相应位置上为止。下面对三种快排的思想结合代码做简要分析。...原创 2021-04-26 14:54:07 · 156 阅读 · 0 评论 -
数据结构~栈和队列相互实现
首先要谈的是栈和队列的结构特点,举一个生活中的例子,假如你和一群朋友去旅游,需要通过一个独木桥,正常情况下第一个进去的人会率先通过,最后上桥的会最后一个通过;但如果走到一半发现前面由禁止通行的标志,那这时最后上桥的那个人会率先下桥,而第一个上桥的则会最后一个下桥。这就恰似队列(先进先出)和栈(先进后出)的结构。1. 图解栈和队列假设有一串数据1 2 3 4 5 6 ,下图分别描述栈和队列进出情况。<1>栈的出入 <2>队的出入栈的...原创 2020-07-29 15:43:44 · 256 阅读 · 0 评论 -
C语言学习之数据结构(线性表)
线性表:包含n个元素的有序序列,元素的信息由使用场景决定。线性表的表现形式有线性表和链表两种形式,两者的却别在于内存空间的连续性。1.顺序表:开辟连续的内存空间存储元素。在实现形式上分为两种:静态顺序表(使用定长数组)、动态顺序表(使用动态内存分配),使用动态内存分配的方式使得代码的可维护性提升,该方式优于静态顺序表的存储方式。 顺序表的构造:typedef struct SeqList{ ElemType *base; size_t capacity; ..原创 2020-07-26 21:40:05 · 197 阅读 · 0 评论 -
C语言学习之字符串操作相关的库函数
字符串操作的相关库函数大集结<1>strlen size_t strlen ( const char * str ); 功能:返回字符串中‘\0’前面出现的字符的个数,但不包含‘\0’。返回值为 size_t (无符号)<2>strcpy char* strcpy(char * destination, const char * source); 功能:从源字符串向目...原创 2020-07-19 13:26:37 · 250 阅读 · 0 评论 -
C语言学习之通讯录实现
1.具体功能:增删改查、排序及清空整个通讯录2.可实现通讯录的自动扩容3.程序退出可保存通讯录part A:contact.h#ifndef _CONTACT_H_#define _CONTACT_H_#include <stdio.h>#include <assert.h>#include <stdlib.h>#include <windows.h>#pragma warning(disable:4996)#define原创 2020-07-08 23:04:22 · 7086 阅读 · 0 评论 -
C语言学习之动态内存管理
1、问什么要动态内存管理?在进行数据存储的时候,我们经常的做法是利用数组开辟指定大小的空间用以存储数据,但是数组的具体大小取决于输入的数据,因此往往在程序运行时才知道所需数组的内存空间的大小。为了达到对内存空间的合理使用,这就要就我们根据输入数据的不同来开辟不同大小的内存空间,继而出现动态内存分配。动态内存分配在程序运行时为指定的变量分配内存,其分配的内存空间位于堆区。此外,在栈区可开辟的空间大小小于堆区,因此在需要开辟较大的内存空间时,也需要使用动态内存分配。2、动态内存分配函数malloc.原创 2020-06-28 00:10:18 · 164 阅读 · 0 评论 -
C语言学习之结构体
1、结构体结构体存在的意义:在之前的学习中,首先接触到了同一种类型数据的集合-数组但是如果需要对不同的数据的集合进行描述,显然只有数组是非常的麻烦的。比如去描述一个班级学生的信息情况,这里就需要有姓名、学号、年龄,身高等信息,如果使用数组进行存储,那么就注定需要将学生的信息进行分类存储,这在查找某一名学生的信息时是非常不便的,因此就需要有结构体这一类型用来存储不同类型的数据。...原创 2020-06-24 14:21:43 · 981 阅读 · 0 评论 -
C语言学习之指针:从初始到深入
一、指针的基本常识1.什么是指针?对于指针需要掌握以下几个基本的概念:<1>指针是一种变量类型,也是具有空间、内容、地址三个属性。空间属性值得是:在定义指针时,内存会给指针变量分配指定类型大小的空间,空间的大小为四个字节(32位平台下)。内容属性指的是:指针变量内部存储的数据,即存放的是地址。因此,通常也会说指针就是地址,地址就是指针,要注意的是这里的指针指的是指针的内容。<2>指针是有类型的,其类型决定了指针访存时的步长,即指针解引用操作时的权限。比如:char *原创 2020-06-16 23:43:15 · 432 阅读 · 0 评论 -
C语言学习之数据存储
在学习学习计算机/编程语言的时候,我们会有一个绕不开的话题:数据的存储。以下小编分为两部分:整型数据存储、浮点型数据存储。一、整型数据在内存中的存储1.我们都知道整型数据在开辟变量空间时需要4byte,那么数据是如何在这4byte的空间中存储的?首先,我们需要了解三个概念:原码、反码、补码。计算机中的有符号数有上述三种表示方法,这三种表示方法均由符号位和数值位两部分组成。符号位(位于二进制序列的最高位):0表示正数,1表示负数。数值位:除符号位剩下的23个bit位,不同的表示方法该位存在差异。下原创 2020-05-26 22:56:37 · 323 阅读 · 0 评论 -
C语言学习之打印菱形、数组奇偶排序
Part 1:C语言实现打印菱形如上图所示,是使用C语言打印的一个菱形,小编这里使用指针的方式来解决该问题(也可通过观察规律实现)。在解决该问题时,我们通常分为两步来实现菱形的打印,第一步是打印菱形的上半部分,第二步是打印菱形的下半部分。<1>打印菱形的上半部分问题分析:如图所示,如果我们将上半部分的每行看成一个一维数组,那么第一行数组的内容除了中间位为星号,其他的都是空格,然后之后的每行都是在上一行的基础上向两端依次扩展一位,直到遍历完整个数组。实现:通过分析,我.原创 2020-05-16 20:57:09 · 1122 阅读 · 0 评论 -
C语言学习之喝汽水小程序
今天在联系C语言编程的时候,碰到这样一个问题,感觉很有意思,下面小编将分享自己解决这个问题是的一些思路,欢迎大家前来评论。Question:喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,假设你有指定数量的金额,那么可以喝多少瓶汽水?问题分析:在解决这个问题的时候,如果我现在所拥有的金额是2的整数次放,那么问题将会很简单;比如我现在有16元钱,那么我每次喝的汽水的数量为:16——>8——>4——>2——>1,最后只需要将这些数加起来即可。然而如果将金额看成随机数,那么2的整数次原创 2020-05-15 17:00:49 · 433 阅读 · 0 评论 -
C语言学习之扫雷小游戏
以下内容是小编整理的近期学习的C语言变成实现简单版本的扫雷游戏,与之前整理的三子棋游戏相似,这个小项目的目的也是为了锻炼、提升对于C语言数组、循环以及函数的应用能力。1. 实现一次扫雷游戏的流程上图是一次游戏的简易流程图,在每次进入游戏后,需要玩家键入需要排查的位置,若位置正确,则判断该位置是否为雷区;当该位置不是雷区时,进行count--(count表示非雷区位置的个数),然后循环排...原创 2020-04-28 00:02:25 · 393 阅读 · 0 评论