双向链表的逆位序建表与输出
来源:互联网 发布:exec怎么用linux 编辑:程序博客网 时间:2024/06/03 19:55
#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define OK 1#define ERROR 0#define OVERFLOW -2typedef int status;typedef int ElemType;typedef struct DLNode{ElemType data;struct DLNode *prior;struct DLNode *next;}LNode,*LinkList;void creatdlist(LinkList &L,int n){LinkList p;int i;L=(LinkList)malloc(sizeof(LNode));L->next=L->prior=NULL;printf("输入链表中有几个元素:\n");for(i=n;i>0;i--){p=(LinkList )malloc(sizeof(LNode));scanf("%d",&p->data);p->next=L->next;L->next=p;p->prior=L;}}void printfdlist(LinkList &L){LinkList p;p=L->next;for(p;p!=NULL;p=p->next){printf("%d",p->data);}}void insertdlist(LinkList &L,int i,ElemType e){LinkList p;LinkList s;p=L->next;int j=0;for(j;j<i-1;j++){p=p->next;}s=(LinkList)malloc(sizeof(LNode));s->data=e;s->prior=p->prior;p->prior->next=s;s->next=p;p->prior=s;}int main(){LinkList L;int i;int e;int j;printf("请输入链表中元素的个数:\n");scanf("%d",&i);creatdlist(L,i);printf("链表中的内容是:\n");printfdlist(L);printf("输入插入的元素:\n");scanf("%d",&e);printf("插入位置为:\n");scanf("%d",&j);insertdlist(L,j,e);printf("插入后的链表的内容是:\n");printfdlist(L);return 0;}
阅读全文
0 0
- 双向链表的逆位序建表与输出
- 双向链表的建立与输出
- 双向链表的正位序插入与输出
- 双向链表的建立以及输出
- 单链表,双向链表的插入,查询,创建,删除,输出
- 双向链表基本操作:删除、插入、双向输出
- C语言实现双向链表删除、插入、双向输出
- 双向链表的插入与删除
- 二叉排序树与双向链表的转换
- 双向链表的插入与删除
- 单链表与双向链表
- 静态变量的应用--将二叉排序树转换为有序的双向链表输出
- Java的单链表与双向链表的实现
- uva12657 双向链表的实现与痛苦的调试
- 给出一颗二叉搜索树,将它转换为有序的双向链表输出
- STL迭代器的使用、正向、逆向输出双向链表中的所有元素
- 双向链表与单向链表的区别
- 数据结构与算法分析-双向链表的实现
- Eclipse新建jsp时使用自己定义的模版
- Catch That Cow --bfs
- 双向链表的正位序插入与输出
- 数据结构实验之二叉树五:层序遍历
- svn问题1
- 双向链表的逆位序建表与输出
- 如何确定像素类型以得到像素值
- Codeforces 827D Best Edge Weight (最小生成树 + 树链剖分/倍增/并查集)
- Mybatis调用存储过程
- OPENGL模板测试
- 基础知识总结:异常
- Opencv2源码分析系列之——SIFT
- 基于zookeeper的solrCloud集群搭建
- No.1 Mybatis 初次见面