C++\C
LGUOQING
一直都是新手,始终都在学习。
展开
-
数据结构的串小解
此次结构是串,学过Java都知道string类,这是Java有别于C的一点,Java没有数组,于是有了string类来填补空洞。string类是一个连续的字符串,所以这篇文章的串就是string类的基础,string类的原理,以及它的构造成分。对于这篇文章我有两点要说的:1、我为了方便新手看,我会拿string类来作比较的讲解,因此我也会直接说我在写string类。但是,我这只是方便理解,但我写的不是string,只是说从根本上看,从我写的那些功能上看,string类是都有的。2、我用的是c,这也是原创 2020-06-05 18:24:02 · 196 阅读 · 0 评论 -
链栈小解——举例进制转换
一个简单的链栈:#include<stdio.h>typedef struct stacknode // 栈的存储结构{ int data; // 定义数据类型 struct stacknode *next; // 定义一个结构体的链指针} StackNode;typedef struct{ StackNode *top;}LinkStack;//栈顶指针 //初始化栈void InitLinkStack(L原创 2020-05-27 15:16:00 · 243 阅读 · 0 评论 -
顺序栈小解
栈的特性是先进后出,这种特性我们一直都在用。最经常用到的地方就是主函数调用子函数。下面的程序为例子:main() 里面调用进栈函数——就是将元素入栈,存放。当调用存放函数的时候,main函数,也就是主函数的进程——运行到哪一步了,会被入栈,保存进度,在入栈函数完成了,结束了,就会回头看main函数,将入栈的进程调出,继续往后运行程序。这个就是栈在函数中的运用。主体程序:#include <iostream>#define MAXLEN 100typedef struct Stack{原创 2020-05-27 14:42:16 · 317 阅读 · 0 评论 -
链表小解
PS:这个程序我在写的时候出了问题,我本来用的是菜单功能,结果我把初始化这个功能也放进去了,也就是说,程序第一次运行的时候,是没有强制初始化一个表的。这就有个问题,若我初始化并存值后,再调用其他功能,程序是没有反应,这是因为此时我原先创建的表没有被调用,那个表创建了就不见了,或许有别的方法调用出来,但是我没找到,而且这样也不符合我的程序初衷,时间复杂度和空间复杂度被硬生生的提高,得不偿失。言归正传。上一个程序讲过了什么是堆、栈空间法的和他们的区别。这个代码用的就是栈空间法,通过调用指针来进行一系列的操作。原创 2020-05-27 14:30:22 · 197 阅读 · 0 评论 -
顺序表小解
从这个程序开始,我会分为两个板块,一个是单个代码功能块分解讲解,另一个是完整的代码,供各位取用顺序表重点在于结构体的建立,要理解结构体的作用、创建时的方法——堆空间法,栈空间法,这会涉及指针和分配空间的方法。1) 堆空间法:关键字——new——分配堆空间适用于定义一个指针变量。需要将记录存储数据的长度的变量初始化为-1;table *InsList(){ table *L; L = new table; L->length = -1; return L;}int main(){原创 2020-05-22 14:35:30 · 263 阅读 · 5 评论 -
数据结构的数组和指针小解
开始学数据结构,按我的课程顺序,我每个小章节都做了自我的理解,然后以实验为例子进行分析,可能不适合大众,只是自我的一个小结。1、将10个整数据存入数组a[10],并将其逆序输出(用函数实现)。程序的结构如下:void inverse(int str[]){int t=0,i;for(i=0; i<5; i++){t=str[i];str[i]=str[9-i];str[9-i]=t;}return ;}void main(){int a[10],i;for(i=0;i&原创 2020-05-20 15:47:32 · 338 阅读 · 0 评论