回顾数据结构(3):双向链表
来源:互联网 发布:mac ppt使用教程 编辑:程序博客网 时间:2024/05/16 14:01
#include<stdio.h>#include<stdlib.h>#include<malloc.h>typedef struct LNode{ int data; struct LNode *next; struct LNode *prior;}Node,*LinkList;//创建双向链表int createLinkList(LinkList &L,int length){ LinkList temp,head; L = (LinkList)malloc(sizeof(Node)); if(!L){ printf("malloc action error"); return 0; } L->next = NULL; L->prior = NULL; head = L; int j =0; for(;j<length;j++){ temp = (LinkList)malloc(sizeof(Node)); if(!temp){ printf("malloc action error"); return 0; } scanf("%d",&temp->data); temp->next = head->next; head->next = temp; temp->prior = head; head = temp; } return 1;}//遍历双向链表int printfLinkList(LinkList L){ LinkList head; head = L; head = head->next; while(head!=NULL){ printf("%d ",head->data); head = head->next; } return 1;}//双向链表的插入int insertLinkList(LinkList L,int i ,int element){ LinkList head,temp; head = L; int j =0; while(head&&j<i-1){ head = head->next; ++j; } if(!head||j>i-1){ printf("insert Error"); return 0; } temp = (LinkList)malloc(sizeof(Node)); if(!temp){ printf("malloc action error"); return 0; } temp->data = element; temp->next = head->next; temp->prior = head; head->next = temp; return 1;}//双向链表的删除int deleteLinkList(LinkList L,int i){ LinkList head,temp; head = L; int j=0; while(head->next&&j<i-1){ head = head->next; ++j; } if(!head->next&&j>i-1){ printf("delete error"); return 0; } temp = head->next; head->next = temp->next; temp->next->prior = head; printf("%d\n",temp->data); return 1;}int main(){ LinkList L; int length; printf("create\n"); scanf("%d",&length); createLinkList(L,length); printfLinkList(L); // printf("\ninsert\n"); int index; int element; scanf("%d %d",&index,&element); insertLinkList(L,index, element); printfLinkList(L); // printf("\ndelete\n"); scanf("%d",&index); deleteLinkList(L,index); printfLinkList(L);}
0 0
- 回顾数据结构(3):双向链表
- 数据结构3(双向链表)
- 数据结构--双向链表
- 数据结构-双向链表
- 数据结构-----双向链表
- 数据结构-双向链表
- 【数据结构】双向链表
- 双向链表 - 数据结构
- 数据结构--双向链表
- 【数据结构】双向链表
- 数据结构-双向链表
- 数据结构--双向链表
- 数据结构-双向链表
- 数据结构-双向链表
- 数据结构-双向链表
- 数据结构-双向链表
- 回顾数据结构(2):单循环链表
- 数据结构 《3》----双向链表(带有头节点)
- C#学习笔记一 设计思想的理解
- 堆排序
- Mysql之备份还原
- String、stringBuilder、stringBuffer的区别
- Java中char 字符类型的独特性
- 回顾数据结构(3):双向链表
- 未捕获的异常导致crash
- 2016/11/4
- Android中web view截取H5的点击事件
- R语言学习笔记(6)(循环)
- 用二叉树、栈的知识实现一个简单计算器
- 欢迎使用CSDN-markdown编辑器
- Hadoop 的Writable序列化接口
- 8.2接收和发送条短信