![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
巩固基础,提高水平
sherlock221c
这个作者很懒,什么都没留下…
展开
-
《天勤数据结构》笔记——使用两个栈实现共享栈实现(C/C++)
共享栈为空的状态,左右两栈的栈顶指针都在两端,也就是各自栈的栈底代码当中测试栈满的时候的状态图共享栈的数据结构typedef struct{ int elem[maxSize]; int top[2];}SqStack;入共享栈的操作,因为共享栈是由两个栈组成的,因此我们在入栈的时候需要选择入栈的编号,也就是stNo,同时要注意栈满的特殊情况int push(SqStack &st, int stNo, int x){ if (st.top[0...原创 2021-03-31 01:08:02 · 443 阅读 · 0 评论 -
《天勤数据结构》笔记——假溢出和循环队列基本操作的实现(C/C++)
一、假溢出当元素被插入到数组中下标最大的位置上之后,队列的空间就用尽了,尽管此时数组的低端还有空闲空间,这样的情况被称为假溢出。这里给出天勤数据结构当中的概念解释解决这个问题的方案就是使用循环队列二、循环队列#define maxSize 5typedef struct{ int data[maxSize]; int front; int rear;}Queue;//初始化循环队列void initQueue(Queue &qu){ q.原创 2021-03-22 01:26:16 · 1010 阅读 · 0 评论 -
《天勤数据结构》笔记——顺序栈和链栈及其代码实现(C/C++)
一、顺序栈#include <stdio.h>#define maxSize 100typedef struct{ int data[maxSize]; int top;}SqStack;//&是运用了C++的引用参数//初始化栈,将栈顶指针置为-1void initStack(SqStack &st){ st.top=-1;}//栈为空时返回1,否则返回0int isEmpty(SqStack st){ if (st.to...原创 2021-03-21 20:48:06 · 608 阅读 · 2 评论 -
《天勤数据结构》笔记——只允许使用一个变量i找出一个数组当中的最小值,数组当中的每个数都是个位正整数,且个数总量小于N(N<=9))
看《天勤数据结构》看到一个有意思的题目一般正常人的想法是利用一个i变量遍历整个数组,然后使用一个中间变量min来找出最小值#include <iostream>using namespace std;void searchMin(int a[], int n, int &min){ //min用来保存最小值, n用来存储数组a的长度 for (int i=0; i<n; i++){ if (a[i]<min){ min=a[i]; }原创 2021-03-19 20:52:16 · 194 阅读 · 0 评论