zoukankan
html css js c++ java
插入排序之表插入
表插入
时间复杂度O(n^2)
附加空间O(1)
稳定排序
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #define LEN 8 // 有LEN个元素要排 struct Record { // 为了考察排序的稳定性,定义元素是结构体类型 int key; int otherinfo; int next; }; void LinkListInsertSort(Record *arr, int length) // length是要排序的元素的个数,0号单元除外 { for (int i = 2; i <= length; ++i) { int q = 0; // q跟在p之后,以方便插入结点(插在q后p前) for (int p = arr[0].next; p != 0; p = arr[p].next) { // 作为单链表,只能从前向后找(用双向链表可避免) if (arr[p].key > arr[i].key) // 这是从前向后找的缺陷:到相同的,还得继续向后(而直接插入排序是从后向前找的) break; q = p; } arr[i].next = arr[q].next; // p为0时亦然 arr[q].next = i; } } int main(void) { freopen("in.txt", "r", stdin); Record a[LEN + 1] = {0}; a[0].next = 1; //<span style="white-space:pre"> </span>0号单元作为头结点,指针域注意初始化 for (int i = 1; i <= LEN; ++i) cin >> a[i].key >> a[i].otherinfo; LinkListInsertSort(a, LEN); for (int p = a[0].next; p != 0 ; p = a[p].next) cout << a[p].key << '\t' << a[p].otherinfo << endl; return 0; } /* in.txt: 49 1 38 0 65 0 97 0 76 0 13 0 27 0 49 2 out: 13 0 27 0 38 0 49 1 49 2 65 0 76 0 97 0 */
查看全文
相关阅读:
为 TortoiseGit 添加 ssh key---运行 TortoiseGit 开始菜单中的 Pageant 程序将ppk私钥加入即可
公共wifi下的中间人攻击
漏洞扫描原理——将主机扫描、端口扫描以及OS扫描、脆弱点扫描都统一放到了一起
网络扫描——非常不错的文章,主要分为端口扫描(确定开放服务)和主机扫描(确定机器存活)
网络安全类别划分——网络信息采集(端口扫描、漏洞扫描、网络窃听)、拒绝服务攻击、漏洞攻击
网络欺骗——网络欺骗就是使攻击者可以相信网络信息系统存在有价值的、可利用的安全弱点 蜜罐等
深度学习调参技巧总结
深度学习网络调参技巧
如何选择神经网络的超参数
深度学习调参策略(二)
原文地址:https://www.cnblogs.com/jjtx/p/2533468.html
最新文章
ABP开发框架前后端开发系列---(11)菜单的动态管理
ABP开发框架前后端开发系列---(10)Web API调用类的简化处理
ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理
ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程
ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理
ABP开发框架前后端开发系列---(6)ABP基础接口处理和省份城市行政区管理模块的开发
利用代码生成工具生成基于ABP框架的代码
代码生成工具Database2Sharp的架构介绍
ABP开发框架前后端开发系列---(5)Web API调用类在Winform项目中的使用
ABP开发框架前后端开发系列---(4)Web API调用类的封装和使用
热门文章
ABP开发框架前后端开发系列---(3)框架的分层和文件组织
ABP开发框架前后端开发系列---(2)框架的初步介绍
ABP开发框架前后端开发系列---(1)框架的总体介绍
Winform开发中对界面的组织布局
在Winform系统界面中对进展阶段的动态展示和处理
使用阿里云的短信服务发送短信
系统调用——本质:多个进程都需要访问系统资源,为了更好的管理这些资源,进程是不允许直接操作的,因此有了系统调用,你看为什么打开文件open函数是系统调用,因为他要管理文件描述符(总数有限制)啊
Spark Streaming之妙用foreachRDD和foreachPartition —— 在foreachPartition去中去创建socket是明智的做法,直接rdd是有问题的
Presto——本质上是和spark内存计算框架一样 但不负责数据存储
Spark性能优化指南——高级篇
Copyright © 2011-2022 走看看