数据结构
青じ
小白
展开
-
C++实现括号匹配
#include<stdio.h> #include<stdlib.h> #define MaxSize 10 struct Sqstack { int data[MaxSize]; int top=-1; }; bool Push(Sqstack& S,char x) { //入栈操作 if (S.top > MaxSize) { //栈满 return false; } S.data[++S.top] = x; return tr原创 2021-11-08 15:05:51 · 475 阅读 · 0 评论 -
栈的基本操作
#include<stdio.h> #include<stdlib.h> #define MaxSize 10 struct SqStack { int data[MaxSize]; int top; }; //初始化栈 void InitStack(SqStack &S) { S.top = -1; } //进栈操作 bool Push(SqStack& S, int x) { if (S.top == MaxSize - 1) { //栈满 re原创 2021-11-05 15:22:25 · 76 阅读 · 0 评论 -
队列基本操作
#include<stdio.h> #include<stdlib.h> #define Maxsize 10 struct Squeue { int data[Maxsize]; int front, rear; }; void InitQueue(Squeue& Q) { Q.rear = Q.front;//初始化 } bool QueueEmpty(Squeue& Q) { if (Q.front == Q.rear) { //判空操作 r原创 2021-11-05 15:21:46 · 53 阅读 · 0 评论 -
多种方法逆置单链表
#include<stdio.h> #include<stdlib.h> struct LNode { int data; LNode* next; }; //法一:摘掉头结点使用头插法 LNode* ReverseList(LNode* L) { LNode* p = L->next; //工作指针 LNode* r = p->next; //找到后继 L->next = NULL; while (p!=NULL) { r = p->原创 2021-11-04 10:11:59 · 78 阅读 · 0 评论 -
双链表的相关操作
#include<stdio.h> #include<stdlib.h> struct DNode { int data; DNode* next, * prior; }; //双链表的初始化 bool SetList(DNode*& L) { L = (DNode*)malloc(sizeof(DNode)); if (L == NULL) { return false; } L->prior = NULL; L->next = NULL;原创 2021-10-31 10:49:34 · 41 阅读 · 0 评论