数据结构(C++)
使用c/c++语言实现各种数据结构
佟星的自留地
show me the code
展开
-
单链表的逆置
#include<iostream>using namespace std;#define OK 1#define ERROR 0typedef int Status; typedef struct LNode{ int data; struct LNode *next; }LNode,*LinkList;//初始化链表Status initList(LinkList &L){ L = new LNode; L->next = NULL; retu原创 2021-11-12 23:04:34 · 242 阅读 · 0 评论 -
c语言数组原地逆置
#include<iostream>using namespace std;//数组原地逆置void converseArr(int arr[],int n){ int temp; for(int i = 0;i<n/2;i++) { temp = arr[i]; arr[i] = arr[n-i-1]; arr[n-i-1] = temp; } } int main(){ //测试代码 int a[] = {1,2,3,4,5}; conver原创 2021-11-11 23:39:18 · 764 阅读 · 0 评论 -
数据结构 停车场管理系统
#include<iostream>using namespace std;#define StackSize 5#define OK 1#define ERROR 0typedef int Status;typedef struct{ int cno;//车牌号 int arriveTime;//进入停车场的时间; int pushTime;//停车时间; int leaveTime;//离开停车场的时间; }Car;//定义栈数据结构 typedef s原创 2021-11-11 18:04:12 · 2255 阅读 · 0 评论 -
2021-06-15
查看排序原理的可视化工具https://www.cs.usfca.edu/~galles/visualization/Algorithms.html原创 2021-06-15 20:40:54 · 77 阅读 · 0 评论 -
顺序表的各种排序
#include<iostream>using namespace std;#define MAXSIZE 100typedef int ElemType;typedef struct{ ElemType *elem; int length;}SqList;//初始化bool InitList(SqList &L){ L.elem = new ElemType[MAXSIZE]; if(!L.elem) return false; L.length = 0;原创 2021-06-08 21:04:32 · 1018 阅读 · 0 评论 -
二叉树的创建以及先中后序遍历
#include<iostream>using namespace std;typedef struct BiTNode{ char data;//结点的数据域 struct BiTNode *lchild,*rchild; }BiTNode,*BiTree;void initBiTree(BiTree &T){ T = new BiTNode; T->data = 'a'; T->lchild = NULL; T->rchild = NU原创 2021-06-01 16:23:33 · 137 阅读 · 0 评论 -
图的创建以及遍历(邻接矩阵法存储图)
#include<iostream> #define MAXINT 32767 //表示极大值,即∞ #define MVNUM 100 //最大顶点数 using namespace std;//typedef char VerTexType; //假设顶点的数据类型为字符型//typedef int ArcType; //假设边的权值类型为整型typedef struct{ char vexs[MVNUM]; //顶点表 int arcs[MVNUM][MVNUM];/原创 2021-05-18 21:04:57 · 281 阅读 · 0 评论 -
C顺序表
// dataStruct.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#define MAXSIZE 20using std::cin;using std::cout;typedef struct { int* elem; int length;}SqList;//初始化void initSqList(SqList &L){ L.elem = new int[MAXSIZ原创 2021-05-09 15:31:42 · 87 阅读 · 0 评论 -
C单链表
C单链表的实现以及操作#include <iostream>using std::cin;using std::cout;typedef struct LNode { int data; struct LNode* next;}LNode,*LinkList;//初始化链表void initList(LinkList &L){ L = new LNode; L->next = NULL;}//尾插法void createList_R(LinkList&原创 2021-04-27 19:09:38 · 105 阅读 · 0 评论 -
C链队
#include<iostream> #define MAXSIZE 20using namespace std;typedef struct QNode{ int data; struct QNode *next;}QNode;typedef struct { QNode *front; QNode *rear; int length;}LinkQueue;//初始化 void initQueue(LinkQueue &Q){ Q.front = Q.re原创 2021-04-25 20:36:04 · 76 阅读 · 0 评论 -
C语言顺序栈和链栈
C语言顺序栈#include<stdio.h>#include<stdlib.h>#define MAXSIZE 20typedef struct { int data[MAXSIZE]; int top; }SqStack;//初始化顺序栈 void InitStack(SqStack &S){ S.top = -1;}//显示顺序栈的数据void ShowData(SqStack S){ for(int i = 0;i<=S.top;原创 2021-04-20 21:00:47 · 90 阅读 · 0 评论