双向链表
来源:互联网 发布:qq三国js奥义选择 编辑:程序博客网 时间:2024/05/17 01:08
双向循环链表创建
typedef struct Node{ int x; struct node *prior,*next;};Node *create_DList(){ Node *p,*head,*l; int n,i,x; head = new Node; head->prior = head; head->next = head; p = head; scanf("%d",&n); for(i = 0; i < n; i++) { scanf("%d",&x); l = new Node; l->x = x; p->next = l; l->prior = p; l->next = head; head->prior = l; p = l; } return(head);}
循环链表的创建
#include<stdio.h>#include <stdlib.h>typedef struct node{ int x; struct node *prior,*next;}Node;//函数声明Node *create_DList();void out_DList(Node *l);int main(){ Node *l; l = create_DList(); printf("创建成功!"); out_DList(l);}//读取双向链表void out_DList(Node *p){ p = p->next; while(p) { printf("%5d",p->x); p = p->next; }}//创建双向链表Node *create_DList(){ Node *p,*head,*l; int n,i,x; head = (Node *)malloc(sizeof(Node)); head->x = 3; head->prior = NULL; head->next = NULL; p = head; scanf("%d",&n); for(i = 0; i < n; i++) { scanf("%d",&x); l = (Node *)malloc(sizeof(Node)); l->x = x; p->next = l; l->prior = p; p = l; //p->next = NULL; } return(head);}
删除值为n的节点
node *deleted(node *p ,int n){ int flag=0; node *p1; p1=p->next ; while(p1) { if(p1->data == n) { if(p1->next !=NULL) { p1->next ->prior =p1->prior ; p1->prior ->next =p1->next ; } else//针对最后一个元素为删除结点 { p1->prior ->next =NULL; } break; } p1=p1->next; } return p;}
插入节点(按大小顺序插入)
node * insert(node *p){ int kk; node *s,*ss,*mm; mm=(node *)malloc (sizeof(node));//申请一个空间用于存储新添加的结点 s=p; ss=s->next; scanf("%d",&kk); mm->data =kk; while(ss) { if(ss->data >= kk) { mm->next=ss; s->next=mm; mm->prior=s; ss->prior=mm; break; } else { s=s->next ; ss=ss->next ; } } if(s->next==NULL) { s->next=mm; mm->prior=s; mm->next=NULL; } return p;}
0 0
- SzNOI 双向约瑟夫(双向链表)
- 双向链表&&堆栈
- 双向链表
- 使用双向链表
- 双向链表
- 双向循环链表
- 双向循环链表
- 双向链表
- 实现双向链表
- 双向循环链表
- 建立双向链表
- 双向链表
- 双向链表
- 双向循环链表
- 双向链表
- 链表-双向链表
- 双向链表
- 双向动态链表
- Maven常用命令
- 关于perl中的反勾号(``),system和exec
- NO.3读书笔记第二则。理解argc,argv
- Oracle聚簇索引的使用方式
- 正则表达式匹配标点符号
- 双向链表
- 正大种子魔术子弹或假索赔
- 解决html跨站问题
- ARC中__bridge, __bridge__transfer, __bridge_retained 关系
- 最性感的肩膀纹身设计女装 - 5令人惊叹的设计,你会爱!
- 基于注解的 Spring MVC 简单入门
- 小析 HTTP 的方法
- shell-根据扩展名切分文件名
- mongodb 集群出现 for log file: errno:30 Read-only file system (文件系统只读)