![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
线性表
线性表
SummerZ~
这个作者很懒,什么都没留下…
展开
-
数据结构栈——迷宫问题C++
1、方向试探typedef struct {int incX,incY;//x,y方向的增量}Direction;Direction direct[4];directincXincY00111020-13-102、Box temp;xydir栈中数据元素的组织typedef struct{int x,y;int dir;//当前元素的位置和方向}Box;3、栈typedef struct{Box da原创 2020-08-07 00:15:53 · 792 阅读 · 0 评论 -
顺序栈的基本操作
顺序栈的基本操作1、初始化2、判栈空3、进栈4、出栈5、读取栈顶元素SqStack.h#define MaxSize 50//定义栈中元素的最大个数typedef int Elemtype;typedef struct{ Elemtype data[MaxSize]; int top;}SqStack; //初始化 void InitStack(SqStack &S);//判栈空 bool StackEmpty(SqStack S); //进栈bool Pus原创 2020-08-05 15:42:31 · 375 阅读 · 0 评论 -
单链表的基本操作
单链表的基本操作1、头插法建立单链表2、尾插法建立单链表3、按序号查找结点值4、按值查找表结点5、插入结点操作6、删除结点操作7、打印单链表8、销毁单链表LNode.htypedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;//1、头插法建立单链表 LinkList List_HeadInsert(LinkList &L);//2、尾原创 2020-08-01 14:05:52 · 176 阅读 · 0 评论 -
顺序表的一些其他操作
顺序表的一些其他操作上篇写了顺序表的基本操作(链接),这篇在[顺序表的基本操作]上,写了些其他操作1、删除最小元素,返回元素值,并用最后一个元素填补2、顺序表所有元素逆置,空间复杂度为O(1)3、删除定值在s-t之间的所有元素//删除最小元素,返回元素值,并用最后一个元素填补bool Del_Min(SqList &L,ElemType &value){ if(L.length==0) return false; int pos=0; for(int i=1;i<L.原创 2020-07-31 14:11:56 · 95 阅读 · 0 评论 -
顺序表位置互换
将数组中的两个顺序表位置互换思路:{a1,a2,a3,…,am,b1,b2,b3,…,bn}{a1,a2,a3,…,am}{b1,b2,b3…,bn}1、首先将{a1,a2,a3,…,am,b1,b2,b3,…,bn}逆置为{bn,bn-1,bn-2,…,b1,am,am-1,…a2,a1}2、在对前n个元素和后m个元素进行逆置算法具体代码:#include <iostream>using namespace std;void reverse(int A[],int le原创 2020-07-31 13:50:00 · 1075 阅读 · 1 评论 -
顺序表的基本操作
线性表的基本操作1、初始化顺序表:void InitList(SqList &L);2、顺序表插入操作:bool ListInsert(SqList &L,int i,ElemType e);3、按值查找:int LocateElem(SqList &L,ElemType e);4、按位查找:int GetElem(SqList &L,int i);5、删除操作:bool ListDelete(SqList &L,int i,ElemType &原创 2020-07-31 13:57:21 · 784 阅读 · 0 评论