【数据结构】顺序表和链表经典题目 我们通过前面对顺序表和链表的讲解,让大家对它们有了基本了解。下面是对于这两个知识点的一些经典例题的讲解,让大家更好熟悉它们。提示:以下是本篇文章正文内容,下面案例可供参考这篇博客,我们讲解了两道顺序表题和五道链表题,最后一道使用了循环链表,希望大家能通过这几道题对顺序表和链表有更深的了解。!!
【数据结构】单链表 大家是否记得我们在顺序表中留下的几个问题?对于顺序表的空间浪费和插入耗时过长,我们的解决方法就是使用新的数据结构——链表。这篇博客讲述了链表的概念和结构,对链表的最简单的结构——单链表,实现了它的增删查改,最后补充了链表的分类,让大家对链表有个整体了解。
动态顺序表实现通讯录 回顾上文,我们初步了解了顺序表,顺序表的本质就是数组,但相比于单纯的数组,顺序表多出了一些功能——增删查改。那么顺序表究竟有什么用呢?接下来为大家使用顺序表实现一个简易的通讯录。(使用动态顺序表实现)正文开始通讯录的实现实际十分简单,我们只要能熟练掌握顺序表的功能的实现,再在顺序表上套一个外壳就变成了通讯录。我们这个通讯录还有点小问题——无法一直保存数据。如果想要一直保存可以使用文件来操作,将每次修改的数据保存到一个文件里,每次进入程序先从该文件中读取数据,结束时将数据传回文件中。大家可以试着实现以下。
【数据结构】顺序表 顺序表是一种线性表,在逻辑结构上是线性的,在物理结构上同样也是线性的,也就是说顺序表会使用一块连续的空间进行数据的存储,基本上以数组形式表示。顺序表中数据是连续存储,我们就可以使用下标来进行访问,访问元素更迅速。在顺序表功能实现中,头插头删,pos位置插入删除比较复杂,会对其他数据产生影响,需要关注操作细节。顺序表优点是访问便捷,但是缺点有很多,就在那几个问题中,这些缺点导致需要频繁中间插入删除数据时效率较慢。!!
【C语言】编译和链接 C语言设置了一些预定义符号,可以直接使用,预定义符号也是在与处理期间处理的。1. __FILE__ //进行编译的源文件2. __LINE__ //文件当前的行号3. __DATE__ //文件被编译的日期4. __TIME__ //文件被编译的时间5. __STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义int main()return 0;
【C语言】结构体详解 声明完结构体了肯定要使用它,接下来我们来看看如何定义结构体变量。注意:声明结构体时没有使用内存,但是定义结构体变量时,编译器为该结构体变量分配了内存。我们先看第一种方式,也是使用率较低的一种。这种方式会更为普遍。对于这两种变量的定义可能会产生区别:第一种定义:由于声明在函数外面,这个定义自然也在函数外面,该变量也就是全局变量。第二种定义:一般在函数里面定义,自然只能在该函数内有效(但是在函数外定义效果与第一种一样)。
数据在内存中存储 在讲解操作符时,我们了解到整数的2进制有三种表示形式:原码,反码,补码。这里复习一下。对于有符号整数,分为数值位和符号位,最高位就是符号位,最高位的0表示正数,1表示负数。对于无符号整数,全部为数值位,因此无符号整数只能是>=0的数。对于正整数,原码,反码,补码都是一样的。对于负整数,三种表示形式都不一样:原码:直接将数值按正负数的形式翻译成2进制得到的就是原码。反码:将原码数值位的数依次取反,符号位不变,得到的是反码。补码:将反码+1就是补码。对于整数,在内存中的存储都是以补码的形式存储,可以将符号位和数
【C语言】常见字符串函数和内存函数使用及模拟实现 本篇文章具体讲解了常见的字符串函数(strlen,strcpy,strcmp,strcat,strstr)的使用和模拟实现,内存函数的使用和部分模拟实现,帮助大家更好了解这几个库函数