若有一个包括'('和')'的字符串string,判断字符串是否有效。要求设计算法实现检查字符串是否有效,有效的字符串需满足以下条件:A.左括号必须用相同类型的右括号闭合。B.左括号必须以正确的顺序闭合。C.每个右括号都有一个对应的相同类型的左括号。 思路图: 参考代码: boolSeqStack_IsStringVaild(SeqStack_tManager,constcharStr) { charPstr=Str;//备份地址,防止地址丢失 //1.循环遍历字符串,寻找'(' while(Pstr) { //判断当前地址下的字符是否为'(',如果是则入栈 if(Pstr'...

  OWcqk49iaHJv   15天前   37   0   0 算法与数据结构

/ 该程序实现顺序栈元素的增删改查,目的是提高设计程序的逻辑思维,另外为了提高可移植性,所以顺序栈中元素的 数据类型为DataType_t,用户可以根据实际情况修改顺序表中元素的类型。 另外,为了方便管理顺序栈,所以用户设计SeqStack_t结构体,该结构体中包含三个成员:栈底地址+栈容量+栈顶元素的下标 Copyright(c)2023-2024a1583839363@163.comAllrightReserved / include<stdio.h> include<stdbool.h> include<stdlib.h> //指的是顺序...

  OWcqk49iaHJv   16天前   17   0   0 算法与数据结构

/ 该程序实现链式队列元素的增删改查,目的是提高设计程序的逻辑思维,另外为了提高可移植性,所以链式队列中元素 的数据类型为DataType_t,用户可以根据实际情况修改链式队列中元素的类型。 另外,为了方便管理链式队列,所以用户设计LQueue_t结构体,该结构体中包含两个成员:结点的数据域+结点的指针域 以链表作为基础来实现队列的操作,可以避免内存浪费以及避免内存成片移动,只需要确定队头和队尾即可,一般把链表头部作为队头,可以实现头删,把链表尾部作为队尾,可以实现尾插。 Copyright(c)2023-2024a1583839363@163.comAllrightReserved ...

  OWcqk49iaHJv   16天前   16   0   0 算法与数据结构

/ 实现链式栈一般是以链表作为基础,一般是把链表头部作为栈顶,方便数据的插入和删除,链式栈相当于是一个单向不循环的链表。 Copyright(c)2023-2024a1583839363@163.comAllrightReserved / //指的是链式栈中的结点有效数据类型,用户可以根据需要进行修改 typedefintDataType_t; //构造链式栈的结点,链表中所有结点的数据类型应该是相同的 typedefstructLinkedStack { DataType_tdata; //结点的数据域 structLinkedStacknext;//结点的指针域 }L...

  OWcqk49iaHJv   17天前   22   0   0 C语言

思路   定义两个指向链表首结点的指针变量,第一个指针变量向后移动k个位置后,第二个指针变量也开始跟着一起向后移动,直到第一个指针变量指向尾结点为止,第二个指针变量指向的位置结点就是倒数第k个结点,此时的时间复杂度为O(n)。 实现步骤及参考代码(C语言) intLList_FindLK(LList_tHead,DataType_tdata,intk){ //1.定义两个指向首结点的指针变量 LList_tTemp1=Head->next; LList_tTemp2=Head->next; //2.定义一个计数器,判定什么时候到第k个位置 intcount=0; ...

  OWcqk49iaHJv   17天前   14   0   0 算法与数据结构

/ 设计双向循环链表的接口 Copyright(c)2023-2024a1583839363@163.comAllrightReserved / include<stdio.h> include<stdbool.h> include<stdlib.h> //指的是双向循环链表中的结点有效数据类型,用户可以根据需要进行修改 typedefintDataType_t; //构造双向循环链表的结点,链表中所有结点的数据类型应该是相同的 typedefstructDoubleCircularLinkedList { DataType_tdata; ...

  OWcqk49iaHJv   17天前   11   0   0 算法与数据结构

/ 设计双向链表的接口 Copyright(c) 2023-2024 a1583839363@163.com AllrightReserved / //指的是双向链表中的结点有效数据类型,用户可以根据需要进行修改 typedefintDataType_t; //构造双向链表的结点,链表中所有结点的数据类型应该是相同的 typedefstructDoubleLinkedList {   DataType_t       data;//结点的数据域...

  OWcqk49iaHJv   18天前   15   0   0 C语言

/ 设计单向循环链表的接口 Copyright(c)2023-2024a1583839363@163.comAllrightReserved / //指的是单向循环链表中的结点有效数据类型,用户可以根据需要进行修改 typedefintDataType_t; //构造单向循环链表的结点,链表中所有结点的数据类型应该是相同的 typedefstructCircularLinkedList { DataType_t data;//结点的数据域 structLinkedList next;//结点的指针域 }CircLList_t; //创建一个空单向循环链表,空链表应该...

  OWcqk49iaHJv   18天前   14   0   0 C语言

//指的是单向链表中的结点有效数据类型,用户可以根据需要进行修改 typedefintDataType_t; //构造链表的结点,链表中所有结点的数据类型应该是相同的 typedefstructLinkedList {   DataType_tdata;    //结点的数据域   structLinkedListnext;//结点的指针域 }LList_t; //创建一个空链表,空链表应该有一个头结点,对链表进行初始化 LList_tLList_Create(void) {   //1....

  OWcqk49iaHJv   19天前   18   0   0 C语言
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~