数据结构
文章平均质量分 79
china丶龙少
编程,是一种艺术。程序,是一件艺术品。
不懂的人都觉得是几行代码的事,
但我们自己心里要清晰、明白,
忠于理想,不落情怀,天生骄傲…
展开
-
表达式求值的三种方法
前两天我们有一节数据结构课设,做的是表达式求值,要求用三种办法。1.双数组方式2.字符串方式3.用栈的方式PS:由于一共三种办法,每种办法代码量较多,分成三个博客上传,以下是博客的地址:1.表达式求值之双数组2.表达式求值之字符串处理3.表达式求值之栈的运用...原创 2018-12-25 21:28:33 · 3546 阅读 · 0 评论 -
表达式求值之双数组
分析:由于课设要求用C语言,我们就用一个double类型的数组存运算数,一个char类型数组存运算符,一个char类型数组存表达式字符串。具体代码如下:创建一个priority.h头文件,代码如下:#ifndef _PRIORITY_H_#define _PRIORITY_H_//求运算符优先级int priority(char o){ switch(o) { case ...原创 2018-12-25 20:46:52 · 1064 阅读 · 0 评论 -
表达式求值之字符串处理
分析:由于要求用C语言,我们用一个char类型的数组存表达式字符串,用一个int类型的二维数组存左括号和右括号的位置,然后直接对该表达式字符串按优先级进行处理,核心功能为: (1)对括号的深度遍历,并存入flag二维数组中的findKuohao();子函数。 (2)字符串中某段表达式求解后的值再返回字符串时,对该段后面字符串的移动处理moveStr(int left, int right,...原创 2018-12-25 21:05:19 · 1292 阅读 · 0 评论 -
表达式求值之栈的运用
分析:由于要求用C语言编写,栈的操作我不知道C里面有没有库函数,所以直接将书上代码打下来单独用了一个头文件,代码如下:PS:由于定义栈的存储类型不可变,除非再定义另外一个栈,比较麻烦,我将运算符也存在double栈中,添加一个运算符(char)转double子函数对其处理,±*/等分别对应一个数。创建一个SeqStack.h头文件存顺序栈的操作,代码如下:#ifndef _SEQSTAC...原创 2018-12-25 21:28:16 · 1018 阅读 · 0 评论 -
快速排序递归思想 n个元素中第m小的元素
利用快速排序的思想,编写一个递归算法,求出给定的n个元素中第m个最小的元素思路:取数组第m个元素也就是a[m-1]作为每一次循环的一个阈值,将大于a[m-1]的全部放在数组的右边,小于a[m-1]的全部放在数组的左边,如果一直这样循环下去,那么最后a[m-1]这个单元中存放的就一定是第m小的数据。 代码分析:至于程序中比较难理解的我觉得是: if(j < m-1) left =...原创 2019-01-05 14:00:07 · 746 阅读 · 0 评论 -
C++的大整数四则运算
前言: 随着做题数量的增加,我就慢慢地发现了大整数四则运算的重要性。 但是这些东西挺多的,设计起来也比较复杂,我们不能每次遇到需要大整数四则运算的题,就又重新编写一遍代码吧。 因此,我就想着说把之前刚入门时,苦熬一整天才写出的大整数四则运算代码发上来,供大家,包括我以后方便学习参考。 当然,程序是很久以前写的了,那时候还没学过算法,不懂什么优化,等以后有时间,再优化一下吧。 不...原创 2019-04-23 15:06:46 · 3201 阅读 · 6 评论