- 博客(4)
- 收藏
- 关注
原创 数据结构之栈(stack)初步简单实现
数据结构之栈(stack)初步简单实现: 理解:可以认为是存储数据的“筒”,先放进去的物品会被后放进去的物品“压住”,从而导致取出物品的时候只能从上方取出后放进去的物品;即后进先出【LIFO】。 实现:用一个top变量代表最高位置的数据,当栈内无数据时,top = -1;每存储一个数据top++。 以【判断字符串是否回文】为例,加深对栈的理解。 1、C++用
2015-05-05 16:42:54
336
原创 数据结构之 (单向)队列
数据结构之 (单向)队列: 理解:可类比为平时排队的情形,队伍中人员的变动,只发生在队头或者队尾,即队头的人离开或队尾有新的人加入。 满足先进先出【FIFO】的原则。 实现的基本思想:使用两个整形变量 head 和 tail, head代表头一个元素, tail代表最后一个元素的后一位【此时便于用head == tail来判断队列是否为空而不导致混淆】
2015-05-05 15:22:34
534
原创 对快速排序算法的理解与实现
快速排序(降序): 原理: 整个过程分为 (1)校准基准数(选择最左边的一个数)。 选定最左边的一个数(基准数),通过交换使得小于它的数都在它的左侧,大于它的数在它的右侧。 (2)分治。 对基准数左边和右边的数进行步骤(1)。 #步骤(1)中交换的方法: a.在一个序列的数字中,最左边标记为i,最右边标记为j; b.先从右往左边扫,直到遇见一个小于基准数的数,停下; c
2015-05-04 22:00:53
505
原创 对冒泡排序的理解与实现
冒泡排序(降序): 理解:将相邻的两个数依次比较,小的数应该排在后方;多次进行上述操作,直到整个数列有序为止。 时间复杂度:O(N²)。 C++实现: #includeusing namespace std; int main() { int a[5] = {18,35,99,12,76}; int n = 5; for(int i=0;i<n-1;i++) //
2015-05-04 20:35:42
249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人