自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 数据结构——串

1、字符串:字符串是由零个或多个字符组成的有限序列。通常在直接写串的字符组成时,字符串有多个字符组成的话采用双引号,而单个字符的话采用单引号括起来即可。(注意:引号是顶界符,它不属于串,其作用是避免串值与变量名或常量混淆)2、子串:串中任意连续的字符组成的子序列称为该串的子串。3、主串:包含子串的串称为主串。子串是包含在主串的一段字符序列。4、串相等:当两个串的长度和对应位置的单个字符相等时,两个串才相等。三、串的存储结构:1、定长顺序串:1)

2024-04-18 19:58:46 501

原创 队列——链队列和顺序循环队列

2.入队列操作:首先定义的一个新的结点,并为其申请内存空间,接着我们要讨论其是否是链表的第一个结点,如果是第一个结点的情况,则将新结点的数据域赋值后,其新结点的指针域赋值为空,接着将队头指针指向该新结点的情况,接着将队尾指针指向该新结点的情况。如果不是第一个结点的话,首先也要申请内存空间,再然后将新结点的指针域指向空,然后将前一个队尾指针指向的元素,将其指针域指向新结点,然后不要再移动队头指针,只需移动队尾指针指向新结点。4.当q->front==q->reat时,就是一个空的循环队列;

2024-04-07 11:40:36 351

原创 《有无有结点的区别》

1)而在入队列操作:为第一个结点时,需要改变队头指针和队尾指针的指针域都指向新结点,而在存在头结点以后就不需要改变队头指针的指针域,只要改变队尾指针域指向新结点即可。2)当存在头结点时,头指针指向的结点并不是第一个元结点,而是头结点。2、无头结点的情况:不存在头结点时,最后一个元素的next指向的是链表中第一个元素的结点,而第一个元素的serior的指针域指向最后一个元素结点。1、当存在头头结点时,循环链表的最后一个结点的指针域指向的是头结点,但是要访问第一个位置的元结点,则是其最后一个结点的后续的后续;

2024-04-03 22:35:21 906 1

原创 链式——之数制转换

入栈思想:将S新结点申请内存空间,并且将入栈元素放到新结点的数据域,接着将当前的栈顶元素赋值给新结点的直接后续,然后再将新结点改为栈顶元素(即是新结点变为新的栈顶元素)思想:首先判断其栈是否为空,若为空则输出此栈为空栈,否则将栈中元素输出,从栈顶依次输出,而循环的停止条件为工作指针不为空(NULL)2、链栈在访问和操作元素时需要进行指针的频繁跳转,可能会导致性能上的损失,因此在实际应用中,对于需要高效率的场景可能不太适用。printf("\n\t\t请将此栈置为空栈,再进行转换\n");

2024-04-02 20:35:14 990

原创 十进制转换为二进制—栈

2、实践操作:首先将数字x赋值给n,n/2然后取余,并将n/2赋值给x,接着将余数入栈,继续上面的操作,直到n=0,则该转换操作循环停止,并且将栈中元素输出,则得到转换的二进制数。1、实质是将十进制数变为若干个2的n次幂的的和,即其若干个2的n次幂的和等于原来的二进制数,接着依据下面的表格进行判断写出即可。分别写出对应数的二进制,再将这若干个2的n次幂的二进制表达式进行相加,即可得到原来十进制数的二进制值。十进制转换为二进制有两种方法:连除法和分解法。1、思想:除二取余,逆序输出。

2024-04-01 17:29:21 242

原创 栈—中缀表达式转后缀表达式

(2)若取出的字符是运算符 (eg: ( * / - )),则将该运算符与S1栈栈顶元素比较,如果该运算符(不包括括号运算符)优先级高于S1栈栈顶运算符(包括左括号)优先级,则将该运算符进S1栈,否则,将S1栈的栈顶运算符弹出,送入S2栈中,直至S1栈栈顶运算符(包括左括号)低于(不包括等于)该运算符优先级时停止弹出运算符,最后将该运算符送入S1栈。从中缀式的左端开始取字符,逐序进行如下步骤。(4)若取出的字符是“)”,则将距离S1栈栈顶最近的“(”之间的运算符,逐个出栈,依次送入S2栈,此时抛弃“(”。

2024-04-01 17:26:13 145

原创 数据结构—顺序栈—两栈共享空间

2、刚刚开始要将两个栈变为空栈,而空栈的条件为top1==-1 top 2==数组长度 3、通过插入元素,左边的栈顶指针++,而右边的栈顶指针--,直到满足栈满无法插入(栈满条件为top1+1==top2)。五、操作—栈的长度返回:分为两个栈,就是将两个栈的长度分别相加,第一个栈的长度为(top1+1),第二个栈的长度为(数组长度减去top2),接着将两个的长度相加就得到该栈的总长度。四、操作—构造空栈:top1指针赋值为-1,而top2指针赋值为MAXSIZE。

2024-03-28 22:03:54 175

原创 数据结构——顺序栈

3、栈的顺序存储结构:结构体(存在一个data存储数据的变量和一个标记栈顶元素的指针,但该指针并不是真正的指针,而是某种意义上的指针)、通常判断栈为空栈的条件为(top=-1)。栈指针top的值代表栈顶元素,但是并不代表元素的个数,而此栈中的元素个数,需要top+1代表元素的个数。否则先将删除元素赋值给返回变量进行带回将要删除的元素值,然后再将top--,实质是不输出到此位置的元素,但是删除并不是真正意义上面的删除,存储空间还存在该元素值,然后返回true。把允许插入和删除的一端叫做栈顶(top)。

2024-03-28 21:35:36 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除