
考研_数据结构
GLOW444
这个作者很懒,什么都没留下…
展开
-
数据结构-链表大题3
设L为带头结点的单链表,编写算法实现从尾到头反向输出每个结点的值。void print(LinkList &L){ if(L->next!=NULL){ print(L->next); } if(L!=NULL){ cout<<L->data; }} 试着编写在带头结点的单链表L中删除一个最小值结点的高效算法试编写算法将带头结点的单链表就地逆置,所谓“就地”是指辅助空间复杂度为O(1)...原创 2021-07-25 20:47:00 · 279 阅读 · 0 评论 -
数据结构-链表大题2
在带头结点的单链表L中,删除所有结点为x的结点,并释放其空间,假设值为x的结点不唯一。void Del_x(LinkList &L,Elemtype x){ Node*p=L->next;//从第一个结点开始往后查找; Node*pre=L;//p的前驱 Node*q;//暂存要删除的点 while(p!=NULL){ if(p->data==x){ q=p;//q指向p p=p->next;//p指向q后面的结点 pre->next=p;//原创 2021-07-24 22:40:03 · 217 阅读 · 1 评论 -
数据结构-链表大题1
1.设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点//定义单链表typedef struct Node{ int data;//数据域 struct Node* next;//指针域}Node,*LinkList;//声明点 声明链表//得到位序为i的结点Node *GetElem(LinkList L,int i){ if(i<1)//异常值 return NULL; Node *p=L; j=1;//不带头结点 while(p!=NULL&&原创 2021-07-24 20:15:23 · 174 阅读 · 1 评论 -
数据结构-顺序表vs链表
一个数据结构关注的三个 问题逻辑结构 线性结构物理结构顺序表:随机存取 存储密度高 改变容量不方便链表:分配方便数据的运算/基本操作。创 消 增 删 查 改(赋值)原创 2021-07-23 22:57:39 · 104 阅读 · 0 评论 -
数据结构—静态链表
用代码定义一个静态链表#define MaxSize 10typedef struct Node{ ElemType data; int next;}Node;//SLinkList[MaxSize];Node a[MaxSize];//数组a作为静态链表//SLinkList a;初始化:a[0].next=-1;插入位序为i的结点[notice]这个代码是自己写的,不一定对哦。没有验证为了防止脏数据,其他暂时没有数据的next暂存为-2bool SListNextNode(SL原创 2021-07-23 22:47:08 · 69 阅读 · 0 评论 -
数据结构-循环链表
循环单链表区别单链表表尾结点的next指针指向头结点初始化:L->next=L判空判断表尾结点可以找到p的前驱结点循环双链表实现双循环双循环 可以不用判断是否是最后一个结点了支持正版课:...原创 2021-07-23 21:28:33 · 110 阅读 · 0 评论 -
数据结构-双链表
双链表的初始化typedef struct DNode{ ElemType data; struct DNode *prior,*next;}DNode,*DLinkList;bool InitDLinkList(DLinkList &L){ L = (DLinkList)malloc(sizeof(DNode)); if(L==NULL) return false; L->prior=NULL; L->next=NULL; return true;}双原创 2021-07-23 21:09:31 · 137 阅读 · 0 评论