练习
我也想早日退休
这个作者很懒,什么都没留下…
展开
-
数据结构 3.3堆栈
一、堆栈的定义堆栈可以认为是 具有一定约束的 线性表,插入和删除操作 都作用在一个称为 栈顶(Top)的端点位置。对堆栈的主要操作是 在序列的末尾插入元素和删除元素。通常把数据插入叫做 压入栈,而数据删除叫做 弹出栈。所以最后入栈的数据将最先弹出,因此堆栈也被称为 后入先出表。二、堆栈的实现有顺序和链式两种形式。1、栈的顺序存储实现顺序栈类型:typedef int Position;typedef struct SNode* PtrToSNode;struct SNode{ El原创 2021-10-17 16:23:28 · 297 阅读 · 0 评论 -
数据结构第2版 3.4队列
一、队列的定义对于排队问题,需要有一种能解决共性问题的数据序列的管理组织方式,在这个方式中,多个数据构成一个有序序列,而对这个有序序列的操作(比如插入、删除)有一定要求:只能在一端插入,而在另一端删除。这样的数据组织方式就是 “队列” 。队列 也是一个有序线性表,但队列的插入和删除操作是分别在线性表的两个不同端点进行的。队列简称 “队”,是一种运算受限的线性表。队列只能选取一个端点进行插入操作,另一个端点进行删除操作。把进行插入操作的一端称作 队尾(rear)把进行删除操作的一端称作 队首 或原创 2021-10-10 21:26:25 · 266 阅读 · 0 评论 -
OJ线性表习题线性、链式存储
1、掌握线性表的顺序存储实现方法;描述用顺序存储的方式(数组)实现线性表的MakeEmpty()、Find()、Insert()、Delete()、Length()等操作。输入输入第1行是一个整数n,表示之后还有n行输入。每行输入表示对线性表的一条操作指令,格式是“指令编号 参数1 参数2(如有)”。指令编号为1,表示Insert操作,此时参数1为插入的元素值,参数2为所插入元素在线性表中的位序。指令编号为2,表示Delete操作,此时只有一个参数,即待删除元素在线性表中的位序。指令编号为3,表示F原创 2021-10-19 21:08:49 · 460 阅读 · 0 评论 -
数据结构 引子
事先说明,我用的课本是陈越主编的《数据结构》第2版1、递归输出1~N课本代码及我的解释:#include<stdio.h>void PrintN(int N) //先定义函数{ if(N>0) //循环条件 { PrintN(N-1);//原先没运行之前我想不通为什么就可以顺序输出,其实这里表示调用PrintN()函数//也就是说在执行 printf N 下面的语句之前,先解决了上面的 PrintN(),直到遇到了 PrintN(1),它里面的 PrintN(0) 执原创 2021-09-15 18:38:33 · 140 阅读 · 0 评论 -
数据结构 合并两个有序表
//有两个 有序表 LA和 LB,将它们合并成一个有序表 LC,要求 LC 也是有序 //链表 #include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node *PtrToNode;struct Node { ElementType Data; PtrToNode Next;};typedef PtrToNode List;List Create原创 2021-10-10 20:34:10 · 1676 阅读 · 0 评论