文章目录
- 前言
- 一、栈
- 1.栈的基本概念
- 2.栈的基本操作
- A.常用操作
- B. 实战代码
- 3.栈的链式存储
- 二、队列
- 1.队列的基本概念
- 2.队列的顺序存储结构
- A.队列的顺序存储
- B.循环队列
- C.循环队列的操作
- 3.队列的链式存储结构
- 2.读入数据
- 总结
前言
本文主要介绍栈、队列和数组。
一、栈 1.栈的基本概念
栈:只容许在一端进行插入或删除的线性表。
栈顶:线性允许进行插入删除的那一端。
栈底:固定的、不允许进行插入与删除的另一端。
定义栈、初始化栈、判空栈、入栈、出栈、读栈。
B. 实战代码#define _CRT_SECURE_NO_WARNINGS #include3.栈的链式存储#include #define MaxSize 50 typedef int ElempType; //0 栈的定义 typedef struct { ElempType data[50]; int top; }SqStack; //1 初始化 void InistStack(SqStack& S) { S.top = -1;//代表栈为空 } //2 栈判空 bool StackEmpty(SqStack S) { if (S.top == -1) return true; else return false; } //3 入栈 bool Push(SqStack &S, ElempType x) { if (S.top == MaxSize - 1)//栈满,报错 return false; S.data[++S.top] = x;//指针先加1,再入栈 return true; } //4 出栈 bool Pop(SqStack &S, ElempType &x) { if (S.top == - 1)//栈空,报错 return false; x=S.data[S.top--];//先出栈,指针再减1 return true; } //5 读栈 bool GetTop(SqStack S, ElempType& x) { if (S.top == -1)//栈空,报错 return false; x = S.data[S.top];//x记录栈元素 return true; } int main() { //0-定义栈 SqStack S;//定义栈,先进后出 FILEO LIFO //1-初始化 InistStack(S);//初始化 //2-判空栈 bool flag; flag = StackEmpty; if (flag) { printf("栈是空的n"); } //3-入栈 Push(S, 3);//入栈元素3 Push(S, 4);//入栈元素4 Push(S, 5);//入栈元素5 //4-出栈 ElempType m;//用来存放拿出的元素 Pop(S, m); //5-读栈 GetTop(S, m);//获取栈顶元素 printf("栈顶元素为%dn", m); }
核心代码
typedef struct Linknode{
ElemType data;
struct Linknode *next;
}*LiStack;
二、队列
1.队列的基本概念
队列:一种操作受限制的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。
入队(进队):向队列中插入元素。
出队(离队):删除列表中的元素。
队头(Front):允许删除的一端。
队尾(Front):允许插入的一端。
特点:先进先出(First In First Out,FIFO)
定义:
//伪代码,队列的定义
#define MaxSize 50
typedef int ElempType;
typedef struct {
ElempType data[MaxSize];//存放队列元素
int front, rear;//队头指针与队尾指针
} SqQueue;
B.循环队列
11
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。



