#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct Lnode{
int data;
struct Lnode *prior,*next;
}Lnode,*LinkList;
LinkList p;
LinkList GetElem(LinkList L,int i){
int j=1;
p=L->next;
while(!p && j<i){
p=p->next;
j++;
}
return p;
}
void ListInsert(LinkList &L,int i,int e){
Lnode *s;
if(!(p=GetElem(L,i))) return;
s=new Lnode;
s->data=e;
s->prior=p->prior;
p->prior->next=s;
s->next=p;
p->prior=s;
return;
}
void ListDelete(LinkList &L,int i,int &e){//删除元素用e返回
if(!(p=GetElem(L,i))) return;
e=p->data;//p的位置已知,然后将p前面后面结点用p表示连接起来
p->prior->next=p->next;
p->next->prior=p->prior;
free(p);
return;
}
int main()
{
return 0;
}
数据结构——双向链表操作集(C/C++)
于 2022-01-29 18:41:12 首次发布