/*直接插入排序算法的时间复杂度为O(n^2),
它是稳定的排序算法*/
#include <stdio.h>
int sum[1000];
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&sum[i]);
}
for(i=2;i<=n;i++)
{
sum[0]=sum[i]; //设置哨兵
j=i-1;
while(sum[0]<sum[j])
{
sum[j+1]=sum[j];
j--;
}
sum[j+1]=sum[0];
}
for(i=1;i<=n;i++)
printf("%d ",sum[i]);
return 0;
}
相关文章
- TSL 和 SSL 是什么?它们有何关系?-定义:SSL(安全套接层)是一种早期的加密协议,用于在互联网通信中保障数据传输的安全性。它通过加密和身份验证机制,确保客户端(如浏览器)与服务器之间的通信不被窃听或篡改。 版本:SSL 1.0(未发布)、SSL 2.0(1995年,已废弃)、SSL 3.0(1996年,已淘汰)。 问题:SSL 3.0 及早期版本存在严重安全漏洞(如 POODLE 攻击),目前已被现代系统禁用。 2. TLS(Transport Layer Security) 定义:TLS(传输层安全协议)是 SSL 的继任者,旨在提供更安全的通信协议。TLS 由国际互联网工程任务组(IETF)标准化,逐步替代了 SSL。 版本:TLS 1.0(1999年,已淘汰)、TLS 1.1(2006年,已淘汰)、TLS 1.2(2008年,广泛使用)、TLS 1.3(2018年,最新标准)。 优势:更强的加密算法(如 AES、ChaCha20)、更高效的握手过程、支持前向保密(Perfect Forward Secrecy)等。 SSL 与 TLS 的关系 继承关系 TLS 直接基于 SSL 3.0 设计,可以视为 SSL 的升级版。TLS 1.0 最初命名为 SSL 3.1,后因标准化需要更名为 TLS。 协议兼容性
- 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-002插入排序法(Insertion sort)
- 使用指针实现常见排序算法选择排序,直接插入排序和冒泡排序
- 排序算法(1):直接插入排序-一、实现思路
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
- 插入排序算法--直接插入算法,折半排序算法,希尔排序算法(C#实现)
- 八大排序算法原理以及Java实现(直接插入排序)
- 八大排序算法的python实现(一)直接插入排序
- 插入排序---直接插入排序算法(Javascript版)
- 直接插入排序(js版)