栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第三章 盏、队列和数组

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第三章 盏、队列和数组


文章目录
  • 前言
  • 一、栈
    • 1.栈的基本概念
    • 2.栈的基本操作
      • A.常用操作
      • B. 实战代码
    • 3.栈的链式存储
  • 二、队列
    • 1.队列的基本概念
    • 2.队列的顺序存储结构
      • A.队列的顺序存储
      • B.循环队列
      • C.循环队列的操作
    • 3.队列的链式存储结构
    • 2.读入数据
  • 总结


前言

本文主要介绍栈、队列和数组。


一、栈 1.栈的基本概念

栈:只容许在一端进行插入或删除的线性表。
栈顶:线性允许进行插入删除的那一端。
栈底:固定的、不允许进行插入与删除的另一端。

2.栈的基本操作 A.常用操作

定义栈、初始化栈、判空栈、入栈、出栈、读栈。

B. 实战代码
#define _CRT_SECURE_NO_WARNINGS
#include
#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);
}
3.栈的链式存储

核心代码

typedef struct Linknode{
    ElemType data;
    struct Linknode *next;
    }*LiStack;
二、队列 1.队列的基本概念

队列:一种操作受限制的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。
入队(进队):向队列中插入元素。
出队(离队):删除列表中的元素。
队头(Front):允许删除的一端。
队尾(Front):允许插入的一端。
特点:先进先出(First In First Out,FIFO)

2.队列的顺序存储结构 A.队列的顺序存储

定义:

//伪代码,队列的定义
#define MaxSize 50
typedef int ElempType;
typedef struct {
	ElempType data[MaxSize];//存放队列元素
	int front, rear;//队头指针与队尾指针
} SqQueue;
B.循环队列


11

C.循环队列的操作 3.队列的链式存储结构

代码如下(示例):

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提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/849789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号