- 博客(54)
- 收藏
- 关注
原创 题目描述随着“开心农场”等娱乐游戏风靡互联网,“偷菜”遂瞬间蹿红网络,席卷网民生活。
随着“开心农场”等娱乐游戏风靡互联网,“偷菜”遂瞬间蹿红网络,席卷网民生活。于是,“你‘偷’了吗”便成为大家见面的招呼语。很快,数百万都市白领成为“偷菜”队伍中的主力军,每天在“偷”与防“偷”中乐此不疲,甚至定闹钟半夜起床“偷”菜。根据“农作物”生长规律而变化制定偷菜时间表。
2023-03-10 10:53:05 188
原创 学习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 182
原创 学习c++树的双亲表示法,顺序存储(王道数据结构)
//双亲表示法:每个结点中保存指向双亲的"指针"类似于静态链表#define MAX_TREE_SIZE 100typedef struct{ //结点定义 ElemType data; int parent;}PTNode;typedef struct{ PTNode nodes[MAX_TREE_SIZE]; int n;}PTree;//删除一个结点//空数据遍历更慢,删除结点填充会更简单//孩子表示法(顺序+链式存储)顺序存储各个结点,每个.
2022-05-19 08:23:13 859
原创 学习c++顺序队列的基本操作(王道数据结构顺序队列)
#define MaxSize 10typedef 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 1133
原创 学习c++顺序栈的基本操作(王道数据结构顺序存储栈的实现)
#define Maxsize 10typedef 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 1174
原创 学习c++动态分配数组的顺序表基本操作(王道数据结构顺序表)
#define InitSize 10typedef struct{ ElemType *data; int MaxSize; int length;}SeqList;
2022-05-03 09:44:46 657
原创 学习C++静态数组顺序表基本操作(王道数据结构顺序表)
#define MaxSize 10typede 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 1321
原创 学习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 1160
原创 学习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 1624
原创 学习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 967
原创 学习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 531
原创 学习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 499
原创 学习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 758
原创 王道数据结构顺序存储队列和循环队列的创建与展示
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 127
原创 王道数据结构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 57
原创 王道数据结构第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 81
原创 王道数据结构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 50
原创 王道数据结构顺序栈和链栈的创建与展示
#include "stdafx.h"#include "stdafx.h"#include <stdio.h>#include <iostream>#define MaxSize 50using namespace std;typedef struct{ int data[MaxSize]; int top;}SqStack;//初始化,栈为空即栈顶指针给它赋为-1,用来记录他的位置bool C_Stack(SqStack &S){ S.to.
2021-11-04 17:31:24 224
原创 王道数据结构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 72
原创 王道数据结构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 70
原创 循环单链表的创建与展示
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 93
原创 循环双链表的创建以及王道数据结构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 89
原创 双链表的创建与查看与删除特定的值
//查看一个双链表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 76
原创 简单理解单链表、双链表、循环单链表、循环双链表
简单理解单链表、双链表、循环单链表、循环双链表单链表只有后继指针双链表有后继指针和前驱指针循环单链表尾指针指向了头指针循环双链表头结点的前驱指针指向了尾结点,尾结点的后继指针指向了头结点...
2021-11-03 10:01:56 667
原创 王道数据结构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 68
原创 链表插入排序注意点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 93
原创 王道数据结构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 72
原创 王道数据结构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 54
原创 王道数据结构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 277
原创 王道数据结构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 49
原创 王道数据结构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 86
原创 王道数据结构四十页第八题
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 103
原创 王道数据结构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 104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人