数据结构例16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序。
/*
16.试设计一个算法,
使得在一个有序的单链表中插入一个元素后仍然有序。
*/
# include <iostream>
# include <stdlib.h>
# include <stdio.h>
using namespace std;typedef struct Node
{int elem;struct Node *next;
}*linklist;void inlinklist(linklist &l, int n)
{l = (linklist) malloc (sizeof(Node));l->next = NULL;linklist p, end;end = l;printf("请输入链表中的元素:\n");for(int i = 0; i<n; i++){p = (linklist) malloc(sizeof(Node));scanf("%d", &p->elem);end->next = p;p->next = NULL;end = p;}
}void outlinklist(linklist l)
{printf("链表中的元素为:\n");linklist p;p = l->next;while(p){printf("%d ", p->elem);p = p->next;}printf("\n");
}void insertlinklist(linklist &l, int x)
{linklist p, q, s;s = l;p = s->next;while(p && p->elem < x){s = p;p = p->next;}//将x插入到s和p之间q = (linklist) malloc (sizeof(Node));q->elem = x;q->next = p;s->next = q;
}int main()
{int n, x;linklist l;printf("请输入链表元素个数:\n");scanf("%d", &n);inlinklist(l, n);printf("请输入要插入的元素的值:\n");scanf("%d", &x);insertlinklist(l, x);outlinklist(l);return 0;
}
数据结构例16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序。相关推荐
- 【 C 】在单链表中插入一个新节点的尝试(一)
根据<C和指针>中讲解链表的知识,记录最终写一个在单链表中插入一个新节点的函数的过程,这个分析过程十分的有趣,准备了两篇博文,用于记录这个过程. 链表是以结构体和指针为基础的,所以结构体和 ...
- 【 C 】在单链表中插入一个新节点的尝试(二)
在上篇博文中:[ C ]在单链表中插入一个新节点的尝试(一),我们最后提到了如果向单链表的开头(起始位置)插入一个节点,上篇博文中给出的程序显然完成不了这任务. 这篇博文中,我们将解决这个问题,给出一 ...
- 【 C 】在双链表中插入一个新值的简明程序
上两篇博文讲了如何在单链表中插入一个值: [ C ]在单链表中插入一个新节点的尝试(一) [ C ]在单链表中插入一个新节点的尝试(二) 这篇博文讲解如何在双链表中插入一个值. 单链表的替代方案就是双 ...
- 设计一个算法,借助栈实现单链表链接顺序的逆转
设计一个算法,借助栈实现单链表链接顺序的逆转: 程序思路:题目要求为借助栈将单链表中的数据逆置输出,栈的特点就是先进后出,只 需要将单链表中的数据依次存储在栈中,然后将栈中的元素依次取出即可.关键代码 ...
- java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
转载请注明出处:http://blog.csdn.net/xdz78 #include #include //查找单链表中的特定元素,<数据结构与算法--c语言描述> 3.11 答案 in ...
- 【 C 】简化双链表插入函数(对在双链表中插入一个新值的简明程序的简化)
目录 背景 第一个技巧是语句提炼(statement factoring) 第二个简化技巧 最终简化版本 背景 上篇博文:[ C ]在双链表中插入一个新值的简明程序,讲了一个简明的双链表插入函数,那个 ...
- 【数据结构】判断一个单链表中各结点的值是否有序
count记录的是单链表的总长 count1记录的是升序的结点的个数 count2记录的是降序的结点的个数 如果count1或者count2等于count,那么就说明该序列是升序或者降序的. 稍加改进 ...
- 链表相关操作:创建链表、遍历链表、求链表长度、链表中删除一个节点、链表中插入一个节点、反转单链表...
1 #include<iostream> 2 #include<stdlib.h> 3 4 typedef struct node 5 { 6 int data; 7 stru ...
- Java数据结构与算法———(10)单链表应用实例,找到单链表中倒数第K个节点
找到单链表中的倒数第K个节点,并打印输出节点.两段代码,思路都是相似的. 一.代码1 public class SingleLinkedListDemo {public static void mai ...
最新文章
- 快速目标检测--YOLO-LITE: A Real-Time Object Detection Algorithm Optimized for Non-GPU Computers
- Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法
- mysql5.7主从同步与读写分离
- Hibernate中使用Criteria查询及注解——(Emp.java)
- 什么是压缩感知?[简单概括]
- 论坛分页频繁更新帖子缓存_如何实现频繁更改内容的“可缓存”分页
- server安装 sql 发生mof语法错误_WIN7系统无法安装server2008R2,提示语法MOF错误
- maven生成jar包
- 你真的知道 Python 字符串怎么用吗?
- mysql故障转移,MySQL之MHA故障转移
- python工资一般多少p-5万的工资,用Python算一算少交多少税?
- GDI+中发生一般性错误 Winform Image.Save(mstream, ImageFormat.Png)引发
- JavaScript网页开发--三.CSS(级联样式表)
- 自回归模型(AR Model)
- 【破解】百度网盘不限速(亲测可用)
- Linq之IQueryable与IEnumerable
- vue3学习全部笔记
- bootstrap-table固定表头固定列
- 王兴在这个被互联网遗忘的网站上,留下了一万多条碎碎念。
- css3实现两端对齐
热门文章
- android启动百度地图应用并开始导航,android打开外部地图导航(百度、高德、腾讯)...
- 同向放大器、反向放大器的区别
- 学习笔记2 - 利用元数据管理数据质量
- Python:seaborn的散点图矩阵(Pairs Plots)可视化数据
- 好用的日历 android,手机日历软件哪个最好用?日历app排行榜(10款)
- 19.Eager模式
- Kotlin - 改良策略模式
- (牛客每日一题)[SHOI2008]小约翰的游戏JOHN(Anti-Nim)
- 和Leo一起做爱线段树的好孩子HDU5238 Calculator
- gddr6速率_美光GDDR6内存可上20Gbps,带宽堪比HBM 2显存