- 博客(6)
- 收藏
- 关注
原创 最长上升子序列问题
题目描述一个数的序列bi,当b1<b2<…<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,…,aN),我们可以得到一些上升的子序列(ai1,ai2,…,aiK),这里1≤i1<i2<…<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最长的长度是4,比如子序列(1,3,5,8)。要求对于给定的序列,求出最长上升子序列的长度【输入】输入的第一行是序列的长度N(1≤
2020-08-04 19:49:59
535
原创 一本通1220:单词接龙 C++
【题目描述】单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at和atide间不能相连。【输入】输入的第一行为一个单独的整数n(n≤20)表示单词数,以下n行每行有一个单词(只含有大写或小写字母,长度不超过20),输入的最后一行
2020-07-30 18:25:59
1470
原创 链队列的基本操作 C++
#include <iostream>using namespace std;//定义结点typedef struct QNode{ int data; QNode* next;}QNode, * QueuePtr;//定义链队struct LQueue{ QNode* front; //队头结点 QNode* rear; //队尾节点;};//初始化队列void Init(LQueue& Q){ Q.front = Q.rear = new QNod
2020-05-21 13:06:32
1148
1
原创 循环队列的基本操作 C++
队空条件:front == rear队满条件:(rear + 1) % mSize == front队列长度:(rear - front + mSize) % QueueSize#include<iostream>#define MAXSIZE 10using namespace std;class CirQueue {private: int *data; //指向队列存储空间 int front = 0; //队首下标 int rear = 0; //队尾下标 in
2020-05-20 12:16:59
735
原创 C++链栈的基本操作
#include<iostream>using namespace std;typedef struct StackNode{ int data; StackNode* next;}StackNode, * LinkStack;void menu(){ cout << "**********************1.入栈 2.出栈*********************" << endl; cout << "*
2020-05-19 12:43:12
1451
原创 顺序栈的基本操作 C++
用顺序存储结构表示的栈,称为顺序栈,它用一个顺序表和栈顶指针实现。顺序表中,用top指针指示栈顶元素在顺序栈中的位置.当top指针与base指针指向相同位置时栈为空.#include <iostream>#define MaxSize 30using namespace std;//顺序栈数据结构typedef struct Stack{ int* base; //栈底指针 不变 int* top; //栈顶指针 一直在栈顶元素上一个位置; int stacksize.
2020-05-18 16:44:24
1934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人