双向链表-插入元素
来源:互联网 发布:语音模拟软件 编辑:程序博客网 时间:2024/06/16 00:40
不会写CSDN博客,所以试试
双向链表在一个有序数列中插入一个数,使之依旧有序。
#include<stdio.h>#include<string.h>#include<stdlib.h>#define len sizeof(struct node)#define newp (struct node*) malloc(len)struct node{int num;struct node *next,*pre;};struct node *p1,*head,*temp,*qian,*hou,*tail;int n,x,i;int main(){scanf("%d",&n);p1=newp;p1->pre=NULL;head=p1;for (i=1; i<=n; i++){scanf("%d",&x);p1->num=x;if (i>1){qian->next=p1;p1->pre=qian;}qian=p1;if (i==n) tail=p1; else p1=newp;}tail->next=NULL;scanf("%d",&x);p1=head;int zh=0,zq=0;for (;;){if (p1->num>x) break;if (p1->next==NULL) {zh=1;break;} else p1=p1->next;}temp=newp;temp->num=x;if (zh==0){qian=p1->pre;hou=p1;temp->pre=qian;temp->next=hou;hou->pre=temp;qian->next=temp;}if (zh==1){tail->next=temp;temp->pre=tail;temp->next=NULL;}return 0;}
阅读全文
0 0
- 双向链表-插入元素
- 双向链表元素的插入
- 双向链表插入排序
- 双向链表插入删除
- 数据结构-双向链表插入
- 双向队列元素的插入与删除
- 双向队列元素的插入与删除
- 双向链表基本操作:删除、插入、双向输出
- C语言实现双向链表删除、插入、双向输出
- 双向循环链表的插入
- 双向链表结点的插入
- 双向链表实现 插入删除
- 双向链表建立、插入和删除
- 双向循环链表的插入删除
- 双向链表插入、删除操作
- 双向链表的建立插入删除
- 精简双向链表的插入代码
- 关于双向链表之插入+删除
- Spring注解
- 回溯法-使用排列树解TSP问题
- 可变参数列表解析
- 排序-简单选择排序
- XGBoost Parameters
- 双向链表-插入元素
- oracle创建用户
- Java 语言的发展历程
- TCP/IP 层次
- 【普及组_在线赛】最小与最大
- Java之I/O处理
- Scala基础之for循环,函数,Lazy关键字
- 基于Unity3D的相机功能的实现(七)—— 综合篇
- [POJ](2236)Wireless Network ---- 并查集