- 博客(54)
- 收藏
- 关注
原创 题目描述随着“开心农场”等娱乐游戏风靡互联网,“偷菜”遂瞬间蹿红网络,席卷网民生活。
随着“开心农场”等娱乐游戏风靡互联网,“偷菜”遂瞬间蹿红网络,席卷网民生活。 于是,“你‘偷’了吗”便成为大家见面的招呼语。很快,数百万都市白领成为“偷菜”队 伍中的主力军,每天在“偷”与防“偷”中乐此不疲,甚至定闹钟半夜起床“偷”菜。根据 “农作物”生长规律而变化制定偷菜时间表。
2023-03-10 10:53:05
341
原创 学习c++二叉排序树
//中序编列二叉排序树可以得到有序数列 //二叉排序树的查找 BSTNode *BST_Search(BSTree T,int key) { while(T!=NULL&&key!=T->key) { if(key<T->key) T=T->lchild; else T = T->rchild; } return T; } //递归实现 BSTNod.
2022-05-22 11:17:43
242
原创 学习c++树的双亲表示法,顺序存储(王道数据结构)
//双亲表示法:每个结点中保存指向双亲的"指针"类似于静态链表 #define MAX_TREE_SIZE 100 typedef struct{ //结点定义 ElemType data; int parent; }PTNode; typedef struct{ PTNode nodes[MAX_TREE_SIZE]; int n; }PTree; //删除一个结点 //空数据遍历更慢,删除结点填充会更简单 //孩子表示法(顺序+链式存储)顺序存储各个结点,每个.
2022-05-19 08:23:13
989
原创 学习c++顺序队列的基本操作(王道数据结构顺序队列)
#define MaxSize 10 typedef struct { ElemType data[MaxSize]; int front,rear; }SqQueue; //顺序队的初始化 void InitQueue(SqQueue &q) { q.front=q.rear=0; } //队列判空 bool QueueEmpty(SqQueue q) { if(q.rear == q.front) return true; else .
2022-05-05 10:21:26
1248
原创 学习c++顺序栈的基本操作(王道数据结构顺序存储栈的实现)
#define Maxsize 10 typedef struct { ElemType data[MaxSize]; int top; }SqStack; //初始化栈 void InitStack(SqStack &s) { s.top = -1;//top 也可以赋为0,当然相应的赋值操作也要变 for(int i = 0;i<MaxSize;i++) { s.data[i]=0; } } //栈判空 bool Stack.
2022-05-04 10:33:38
1267
原创 学习c++动态分配数组的顺序表基本操作(王道数据结构顺序表)
#define InitSize 10 typedef struct{ ElemType *data; int MaxSize; int length; }SeqList;
2022-05-03 09:44:46
726
原创 学习C++静态数组顺序表基本操作(王道数据结构顺序表)
#define MaxSize 10 typede struct{ ElemType data[MaxSize]; int length; }SqList; //顺序表的插入 bool ListInsert(SqList &L,int i,ElemType e) { if(i<1||i>L.length+1) return false; if(L.length +1 >MaxSize)//L.length>=MaxSize同样.
2022-05-03 09:11:22
1401
原创 学习c++不带头结点的栈的链式存储(王道数据结构栈的链式存储)
//定义栈结点的数据结构 typedef struct LinkStNode { ElemType data; struct LinkStNode *next; }LinkStNode;//c++不取别名也没啥大问题 //初始化不带头结点的链栈 void InitLinkStack(LinkStNode *&L) { L = NULL://头指针 } //销毁不带头结点的链栈 销毁单链表一样的 bool DestroyLinkStack(LinkStNode &.
2022-04-29 11:00:48
1253
原创 学习c++带头结点的栈的链式存储(王道数据结构栈的链式存储)
//定义栈的结点数据结构 typedef sturct LinkNode { ElemType data; struct LinkNode *next; }LinkStNode; //初始化栈 void InitStack(LinkStNode *&L) { L = (LinkStNode *)malloc(sizeof(LinkStNode)); L->next = NULL; } //销毁一个带头结点的栈 void DestroyStack(LinkSt.
2022-04-29 10:39:43
1730
原创 学习c++带头结点的链队基本操作(王道数据结构队列的链式存储)
typedef struct DataNode { ElemType data; struct DataNode *next; }DataNode; typedef struct { DataNode *front; dataNode *rear; }LinkQuNode; //初始化带头点的链队 void InitQueue(LinkQuNode &q) { q = (LinkQuNode *)malloc(sizeof(LinkQuNode)); .
2022-04-29 10:03:33
1053
原创 学习c++不带头节点的单链表的基本操作(王道数据结构单链表链式存储)
//c++不带头结点的单链表的各种操作 typedef struct LNode { ElemType data; struct LNode *next; }LNode,LinkList*; //不带头结点单链表的初始化 bool InitLinkList(LinkList &L) { L =NULL; return true; } //不带头结点的判空 bool EmptyList(LinkList &L) { return (L==NULL); .
2022-04-28 10:49:57
628
原创 学习c++带头结点的单链表基本操作(王道数据结构单链表链式存储)
typedef struct LNode { ElemType data; struct LNode *next; }LNode,LinkList *; //带头结点的单链表的初始化 bool InitList(LinkList &L) { L = (LinkList *)malloc(sizeof(LinkList)); if(L==NULL) return false; L->next = NULL; return tr.
2022-04-27 11:15:07
593
原创 学习c语言和c++结构体的细微差别
c语言的结构体 struct stu{ int age; char[20] name; }; 两种声明变量方式 1、struct stu Student1,Student2; struct stu Student1; struct stu Student2; 2、 struct stu{ int age; char[20] name; }Students1,Students2; 匿名结构体 struct{ int age; char[20] name; }Student1
2022-04-16 12:51:28
816
原创 王道数据结构顺序存储队列和循环队列的创建与展示
typedef struct { int data[MaxSize]; int front, rear; }SqQueue; void Create_queue(SqQueue &Q) { Q.front = Q.rear = 0; int x; cin >> x; while (x!=99) { Q.data[Q.rear++] = x;//这里的跳出循环那一刻也rear+1 cin >> x; if (Q.rear == MaxSize).
2021-11-05 14:57:54
189
原创 王道数据结构71页第5题
int G(SqStack &S1, SqStack &S2) { S1.top = -1; S2.top = MaxSize; S1.top = S1.top + 1; S2.top = MaxSize-1; int x=0; cin >>x; while (x != 99) { if (S1.top >= 0 && S1.top <= MaxSize - 1) { S1.data[S1.top++] = x; .
2021-11-05 14:11:51
97
原创 王道数据结构第71页,第4题
int D_C(LinkList &L,int n)//数组栈-顺序栈和单链表的结合使用 { cin >> n; char s[n/2]; LinkList p = L->next; int i = 0; for (i; i < n / 2; i++) { s[i] = p->data; p = p->next; } i--;//指过头了,拉回来,跳出循环时i指向了中间结点的下一给结点了 if (n % 2 == 1) { p =.
2021-11-05 11:28:31
131
原创 王道数据结构71页第3题(2)
bool Judge(char A[]) { int i = 0; int j = 0,k = 0; while (A[i] != '\0') { switch (A[i]) { case 'I':j++; break; case 'O':k++; if (k > j) { cout << "序列非法" << endl; return false; } i++; } } if (j != k) { .
2021-11-05 10:37:15
95
原创 王道数据结构顺序栈和链栈的创建与展示
#include "stdafx.h" #include "stdafx.h" #include <stdio.h> #include <iostream> #define MaxSize 50 using namespace std; typedef struct { int data[MaxSize]; int top; }SqStack; //初始化,栈为空即栈顶指针给它赋为-1,用来记录他的位置 bool C_Stack(SqStack &S) { S.to.
2021-11-04 17:31:24
294
原创 王道数据结构42页第19题
void X_s(LinkList &L) { LinkList p = L->next, pre = L; while (L->next != L) { LinkList min = p, minpre = pre; while (p != L) { if (p->data < min->data) { min = p; minpre = pre; pre = p; p = p->next; .
2021-11-04 11:20:44
147
原创 王道数据结构42第18题
#include "stdafx.h" #include "stdafx.h" #include <stdio.h> #include <iostream> using namespace std; typedef struct LNode { int data; struct LNode *next; }LNode, *LinkList; //建立循环单链表 LinkList X_WithTail(LinkList &L) { LinkList s; L = (L.
2021-11-04 10:17:02
124
原创 循环单链表的创建与展示
LinkList X_WithTail(LinkList &L) { LinkList s; L = (LinkList)malloc(sizeof(LNode)); L->next = L; LinkList r = L; int x; cin >> x; while (x != 999) { s = (LinkList)malloc(sizeof(LNode)); s->data = x; r->next = s; r = s; .
2021-11-03 17:16:26
145
原创 循环双链表的创建以及王道数据结构42页第17题
void X_C_DLinkList(DLinkList &L) { L = (DLinkList)malloc(sizeof(DNode)); L->next = L; L->prior = L; DLinkList r = L; int x; cin >> x; while (x != 0) { DLinkList s = (DLinkList)malloc(sizeof(DNode)); s->prior = NULL; s->.
2021-11-03 15:54:55
143
原创 双链表的创建与查看与删除特定的值
//查看一个双链表 void Show_DLinkList(DLinkList &L) { DLinkList p = L->next; while (p != NULL) { cout << p->data << endl; p = p->next; } } //创建一个双链表 void C_DLinkList(DLinkList &L) { L = (DLinkList)malloc(sizeof(DNode)); L-.
2021-11-03 11:10:16
150
原创 简单理解单链表、双链表、循环单链表、循环双链表
简单理解单链表、双链表、循环单链表、循环双链表 单链表只有后继指针 双链表有后继指针和前驱指针 循环单链表尾指针指向了头指针 循环双链表头结点的前驱指针指向了尾结点,尾结点的后继指针指向了头结点 ...
2021-11-03 10:01:56
762
原创 王道数据结构41页第16题
int P_List(LinkList &A, LinkList &B) { LinkList p = A, pre = p, q = B; while(p!=NULL&&q!=NULL) { if (p->data == q->data) { p = p->next; q = q->next; } else { pre = pre->next; p = pre; q = B; } .
2021-11-03 09:52:40
113
原创 链表插入排序注意点3个指针的作用
void C_pList(LinkList &L) { LinkList p,r,q;//p用来断链,摘结点 p = L->next; q = p->next;//q用来记录断链,名义上看是后继结点,其实后面链表序列仍在,的数据都能拿。始终保 //持不断链的向后给p指针提供一个摘结点的位置。 p->next = NULL;//断链 p = q;//移指针 while (p != NULL) { q = q->next;//移.
2021-11-03 09:20:19
176
原创 王道数据结构42页第15题
void T_List(LinkList &A, LinkList &B) { LinkList p = A->next, p1 = B->next,r; A->next = NULL; while (p != NULL && p1 != NULL) { if (p->data > p1->data) { LinkList k; k = p1; p1 = p1->next; free(k); .
2021-11-02 16:08:59
121
原创 王道数据结构41页第14题
void Create_C(LinkList &A, LinkList &B) { LinkList p = A ->next , p1 = B -> next,C,r; C = (LinkList)malloc(sizeof(LNode)); C->next = NULL; r = C; Show_List(C); while (p != NULL && p1 != NULL) { if (p->data > p1->.
2021-11-02 15:44:49
104
原创 王道数据结构41页第13题
void G_List(LinkList &a, LinkList &b) { LinkList p=a->next, p1=b->next,r; a->next = NULL; while (p != NULL && p1 != NULL) { if (p->data < p1->data) { r = p->next; p->next = a->next; a.
2021-11-02 14:43:36
349
原创 王道数据结构41页第12题
删除相同数,处在后面的数好操作一点 void Del_same(LinkList &L) { LinkList p; LinkList q; p = L->next; while (p->next != NULL) { if (p->data == p->next->data) { q = p->next; p->next = p->next->next; free(q); } else {
2021-11-02 10:29:47
99
原创 王道数据结构41页第十题
void S_List(LinkList &A) { LinkList B; B = (LinkList)malloc(sizeof(LNode)); B->next = NULL; LinkList p; p = A->next;//用p来存储后继结点,相当于当原A链断链后,保证了后面的序列不失联。为断链摘取结点做准备。 A->next = NULL; LinkList ra = A, rb = B;//定义两尾指针,用尾...
2021-11-02 09:06:09
136
原创 王道数据结构四十页第八题
LinkList Serch_lst_Common(LinkList L1, LinkList L2) { int len1 = Length(L1); int len2 = Length(L2); int dist; LinkList longList, shortList; if (len1 > len2) { longList = L1->next; shortList = L2->next; dist = len1 - len2; } else {.
2021-11-01 17:26:07
167
原创 王道数据结构40页第7题
王道四十页第7题 void Dele(LinkList &L, int x, int y) { LinkList pre, p,z; pre = L; p = L->next; while (p != NULL) { if (x < p->data && p->data < y) { z = p; pre->next = p->next; p = p -> next; free(z);
2021-11-01 16:14:25
164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅