双链表的创建与输出
来源:互联网 发布:黑帽seo好学吗 编辑:程序博客网 时间:2024/06/05 09:54
双链表的创建与输出
//双链表
#include<stdio.h>
#include<stdlib.h>
typedef int Element;
typedef struct DNode{
Element data;
struct DNode *prior;
struct DNode *next;
} DLinkList;
//头插法
void CreateListF(DLinkList *L,Element a[],int n){
DLinkList *s;
int i;
L->prior=L->next=NULL;
for(i=0;i<n;i++){
s=(DLinkList*)malloc(sizeof(DLinkList));
s->data=a[i];
s->next=L->next;
if(L->next!=NULL)
L->next->prior=s;
L->next=s;
s->prior=L;
}
}
//尾插法
void CreateListR(DLinkList *L,Element a[],intn){
DLinkList *s,*r;
int i;
r=L;
for(i=0;i<n;i++){
s=(DLinkList*)malloc(sizeof(DLinkList));
s->data=a[i];
r->next=s;
s->prior=r;
r=s;
}
r->next=NULL;
}
//输出双链表
void printDList(DLinkList *L){
DLinkList *p=L->next;
while(p!=NULL){
printf("%d",p->data);
p=p->next;
}
printf("\n");
}
int main(){
int i;
DLinkList*L=(DLinkList*)malloc(sizeof(DLinkList));
int array[10];
for(i=0;i<10;i++){
array[i]=i;
}
CreateListF(L,array,10);
// CreateListR(L,array,10);
printDList(L);
}
本内容由安康学院"雨季"原创!
- 双链表的创建与输出
- 单链表的创建与输出
- 数据结构的单链表创建与输出
- 表达式树的创建与输出
- 链表的创建与输出
- 循环链表的创建与输出
- 数据结构有序表的创建与输出
- VC实现链表的创建与输出
- 输入/输出流 和 文件的创建与删除
- 邻接表的创建与输出(C语言)
- 单链表的创建及输出
- 单链表的创建,插入,输出.
- C#创建与Excel打印输出(转)
- C#创建与操作Excel打印输出
- C语言单链表和双链表的创建和输出
- “【】”的输入与输出
- 连续存储---非循环链表的创建与遍历输出
- 000052:创建数值变量,实现将字符串与整型、浮点型变量相连的结果输出
- safe area layout guide before ios 9.0
- Android:获取应用信息,打开、卸载应用
- eval()函数的作用
- C#泛型(一)——泛型概述
- Adobe Acrobat 9.0 Pro 简体中文专业版 免激活
- 双链表的创建与输出
- JSP的概述;JSP的运行原理 JSP的简单使用
- 剑指offer-从头到尾打印链表
- ThinkPHP3.2.3Model类的全部函数
- 在eclipse下ClassPathXmlApplicationContext读取xml文件读取不到问题
- 普及X64 ssdtshadow inline HOOK
- JavaEE_Mybatis 获取插入后自增主键的值
- 慎用 JS 中的 for (var index in items) 循环数组项
- Kotlin Eclipse 环境搭建