数据结构与算法
文章平均质量分 73
喝酸奶必舔瓶盖
一个喜欢探索未知,勇于挑战极限的人
展开
-
中缀表达式转后缀表达式及代码实现
文章目录思路步骤:例子代码 思路步骤: 初始化两个栈:运算符栈s1和存储中间结果的栈s2 从左至右依次扫描中缀表达式 遇到操作数时将其压入s2栈中 当遇到运算符时,比较其与s1运算符的优先级 s1为空,或者栈顶运算符为左括号(,直接将运算符入栈。 否则,若优先级大于栈中的符号,也将运算符压入栈中。 否则,将s1栈顶的运算符弹出并压入s2中,再次执行4步骤,与s1栈顶的运算符进行比较。 遇到括号时: 如果是左括号(,直接将符号压入栈中。 如果是右括号),则依次弹出s1栈顶的运算符,并压入s2,直到遇原创 2021-04-05 23:05:32 · 359 阅读 · 0 评论 -
单向,双向,单向环形链表和约瑟夫问题
文章目录简要概括单向链表双向链表单向环形链表代码实现单向链表双向链表单向环形列表最后 简要概括 单向链表 新建: 新建一个类用来充当链表的节点数据 添加: 无序的添加(插入到末尾):定义一个一个辅助指针cur,用来找到链表的末尾,将cur的next指向你要添加到节点newNode, cur.next=newNode 有序的添加(插入到链表中):定义一个辅助指针cur,将cur指向你将要添加位置的前一个节点。先将新节点newNode指向cur的next节点。newNode.next=cur.next,再将原创 2021-04-03 19:30:23 · 97 阅读 · 0 评论