v2ex 网站建设,网站可以用PS设计吗,微网站app,双网建筑工程资质公司目录
前言
已完成内容
单链表实现
01-开发环境
02-文件布局
03-代码
01-主函数
02-头文件
03-StackCommon.cpp
04-StackFunction.cpp
结语 前言 此专栏包含408考研数据结构全部内容#xff0c;除其中使用到C引用外#xff0c;全为C语言代码。使用C引用主要是为了简…目录
前言
已完成内容
单链表实现
01-开发环境
02-文件布局
03-代码
01-主函数
02-头文件
03-StackCommon.cpp
04-StackFunction.cpp
结语 前言 此专栏包含408考研数据结构全部内容除其中使用到C引用外全为C语言代码。使用C引用主要是为了简化指针的使用避免二重指针的出现。
已完成内容
[数据结构]01-顺序表C语言实现_Chandni.的博客-CSDN博客
[数据结构]02-单链表C语言实现_Chandni.的博客-CSDN博客
单链表实现
01-开发环境 语言C/C14 编译器MinGW64 集成开发环境CLion2022.1.3
02-文件布局 请在CLion集成开发环境中创建C可执行程序否则无法运行原因上面已解释。 03-代码
01-主函数 用于测试和初始化栈。
#include ./Head/StackData.h
#include ./Source/StackCommon.cpp
#include ./Source/StackFunction.cppint main() {Stack SqStack;StackInitialization(SqStack);// 入栈Push(SqStack, 1);Push(SqStack, 2);Push(SqStack, 3);StackPrint(SqStack);printf(---------------------------------\n);// 获取栈顶元素ElemType value;StackGetTopElement(SqStack, value);printf(Stack TopElement Value %d\n, value);printf(---------------------------------\n);// 出栈for (int i SqStack.top; i 0; i--) {Pop(SqStack, value);printf(Stack Pop Value %d\n, value);}return 0;
}02-头文件 用于存储结构体和常量等。
//
// Created by 24955 on 2023-02-22.
//#ifndef LINKEDLIST_LINKEDLISTDATA_H
#define LINKEDLIST_LINKEDLISTDATA_H
// 头文件
#include stdio.h
#include stdlib.h// 常量
#define MaxSize 3
typedef int ElemType;// 结构体-栈数组实现形式
typedef struct {ElemType data[MaxSize];int top;
} Stack;
#endif //LINKEDLIST_LINKEDLISTDATA_H03-StackCommon.cpp 用于存储公共函数以及栈的输出。
//
// Created by 24955 on 2023-02-22.
//
// 栈的初始化
void StackInitialization(Stack SqStack) {/** 1. 初始化栈*/SqStack.top -1; // 表示栈为空
}// 栈的输出
void StackPrint(Stack SqStack) {/** 1. 判断是否为空栈* 2. 若不为空则按顺序输出栈中数据*/if (SqStack.top ! -1) {for (int i SqStack.top; i 0; i--) {printf(%3d, SqStack.data[i]);}printf(\n);} else {printf(Stack Empty.\n);}
}
04-StackFunction.cpp 用于存储入栈、出栈、取栈顶元素值等函数。
//
// Created by 24955 on 2023-02-24.
//
// 入栈
void Push(Stack SqStack, ElemType value) {/** 1. 判断栈是否已满* 2. 若不满则入栈*/if (SqStack.top MaxSize - 1) {SqStack.data[SqStack.top] value;} else {printf(Stack Full.\n);}
}// 出栈
void Pop(Stack SqStack, ElemType value) {/** 1. 判断栈是否为空* 2. 若不为空则出栈*/if (SqStack.top -1) {value SqStack.data[SqStack.top--];} else {printf(Stack Empty.\n);}
}// 获取栈顶元素
void StackGetTopElement(Stack SqStack, ElemType value) {/** 1. 判断栈是否为空* 2. 若不为空则输出栈顶元素值*/if (SqStack.top ! -1) {value SqStack.data[SqStack.top];} else {printf(Stack Empty.\n);}
}
结语 本章栈的实现形式为数组的实现形式栈还可以使用链表形式实现但408考试概率较小若有需要可留言后续再发。 此博客主要用于408考研数据结构C语言实现记录内有不足可留言可讨论。