
数据结构与算法
long+
说起来都是,温习所以笔记...
展开
-
循环队列队满的判断
第一种方法是设置一个标志量flag,当front==rear且flag=0时为空,当front==rear且flag=1时队列为满;第二种方法是我们修改条件,保留一个元素空间,也就是说,数组中还有一个空闲单元时,我们就认为这个队列已经满了。接下来我们重点讨论第二种方法,由于rear可能比front大,也可能是比front小,所以尽管他们只相差一个位置时候就是满的情况,但是也可能说是相差整整一圈。所以原创 2018-03-23 21:06:28 · 24496 阅读 · 2 评论 -
中缀表达式转后缀表达式规则
从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或者优先级不高于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出,并将当前符号进栈,一直到最终输出后缀表达式为止。举个栗子: "9+(3-1)×3+10÷2" 转为后缀表达式之后为 "9 3 1 - 3 * + 10 2 / +" 1.初始化空栈以供符号进出栈...原创 2018-03-21 17:44:20 · 5903 阅读 · 0 评论 -
基本快速排序算法
快速排序(Quicksort)是对冒泡排序的一种改进 基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小(相当于找到一个中间值,这个中间值的左边数据都比它小,右边都比它大),然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。数据分割: 设一维数组Array[l…h],初始时候将其分割...原创 2018-05-28 20:30:00 · 426 阅读 · 0 评论 -
基本冒泡排序与算法改进
冒泡排序基本思想,相邻两数一次比较,按照要求顺序交换。 #include <stdio.h> void BubbleSort(int *Array,int n);//*Array,待排数组;n,数组大小int main(){ int Array[8]={5,9,2,16,7,4,12,15}; int i; printf("待排序数组:\n...原创 2018-05-25 21:32:19 · 4195 阅读 · 0 评论