数据结构——线性表
东呱QAQ
纯小白,努力学习ing
展开
-
【数据结构——线性表】链表例题2
(1)查找元素并删除int findAndDelete(LNode *list, int x){ //先找到该元素 LNode *p; p = list; while(p->next != NULL){ if(p->next == x){ break; } p = p->next; } //然后删除 if(p->next == NULL){ return 0; } else{ LNode *del; del = p->next;原创 2021-12-08 23:19:21 · 138 阅读 · 0 评论 -
【数据结构——线性表】链表例题1
(1)双链表结点的插入(已知要在一个节点前插入结点s,该节点的直接前驱为结点p)s->next = p->next;s->prior = p;p->next = s;s->next->prior = s;(2)双链表结点的删除(删除上述的结点s)s->prior->next = s->next;s->next->prior = s->prior;free(s);(3)有一个递增非空链表,设计一个算法删除值域重复的结原创 2021-12-08 22:22:34 · 531 阅读 · 0 评论 -
【数据结构——线性表】顺序表例题
void reverse(int a[],int left,int right,int k){ int temp; for(int i=left,j=right;i<left+k && i<j;i++,j--){ temp=a[i]; a[i]=a[j]; a[j]=temp; }}void moveToEnd(int a[],int n,int k){ reverse(a,0,k-1,k); reverse(a,0,n-1,k);}...原创 2021-12-08 20:27:25 · 263 阅读 · 0 评论 -
【数据结构——线性表】单链表的插入
首先要学会如何用代码定义一个单链表:typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;//声明一个头指针L,指向单链表的第一个节点LNode *L; //强调这是一个结点LinkList L; //强调这是一个单链表不带头结点的单链表:typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;//初始化一个空的原创 2021-12-08 18:31:14 · 861 阅读 · 1 评论 -
【数据结构——线性表】按值查找和按位查找
#define InitSize 10 //顺序表的初始长度typedef struct{ int *data; int MaxSize; //最大容量 int length; //当前长度}SeqList; //顺序表的类型定义//按位查找int GetElem(SeqList L,int i){ return L.data[i-1];//按值查找(并返回位序)int LocationElem(SeqList L,int e){ for(int i=0;i<L原创 2021-12-08 17:24:49 · 1435 阅读 · 0 评论 -
【数据结构——线性表】顺序表的删除
#define MaxSize 10typedef struct{ int data[MaxSize]; //存放数据元素 int length; //顺序表的长度}SqList;bool ListDelete(SqList &L,int i ,int &e){ //删除L位序i处的e if(i<1||i>L.length) //判断删除范围 return false; for(int j=i;j<=L.length;j++){原创 2021-12-08 17:05:52 · 349 阅读 · 0 评论 -
【数据结构——线性表】顺序表的插入
#define MaxSize 10typedef struct{ int data[MaxSize]; //存放数据元素 int length; //顺序表的长度}SqList;void ListInsert(SqList &L,int i ,int e){ //在L位序i处插入e for(int j=L.length;j>=i;j++){ L.data[j]=L.data[j-1]; //元素后移 L.data[i-1]=e; //i位置处赋值e原创 2021-12-08 16:49:52 · 148 阅读 · 0 评论