straight insertion sorting

2024-02-18 05:52
文章标签 sorting insertion straight

本文主要是介绍straight insertion sorting,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接插入排序算法:第一个元素作为有序序列,从第二个元素开始,在其之前的序列里找到对应的位置,然后插入。

下面用了tmp作为哨兵。

#include <iostream>
using namespace std;const int Nn = 100010;
int a[Nn];int main() {int n;int tmp;cin >> n;for (int i = 0; i < n; ++i) {cin >> a[i];}for(int i = 1; i < n; i++){tmp = a[i];if(a[i] < a[i-1]){a[i] = a[i-1];for(int j = i -2; j >= 0; j--){if(tmp > a[j]){a[j+1] = tmp;break;}else{a[j+1] = a[j];if(j==0) a[0] = tmp;}}}}for (int i = 0; i < n; ++i) {cout << a[i] << ' ';}
}

这篇关于straight insertion sorting的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/720245

相关文章

Sorting It All Out POJ(拓扑排序+floyd)

一个就是简单的拓扑排序,一个就是利用floyd判断是否存在环 #include<cstdio>#include<cstring>#include<vector>#include<queue>using namespace std;#define MAXD 30#define MAX_SIZE 1000vector<int>G[MAXD];int n,m;char L[MAX

[LeetCode] 969. Pancake Sorting

题:https://leetcode.com/problems/pancake-sorting 题目大意 对于数组A,可进行 k-reverse操作,即将 前k个元素翻转,求能使A为升序的 k-reverse 操作顺序。 解题思路 分析k操作,k-reverse操作只会影响 前面的数,不会影响 数组中后面的数,所以思路是逐步将最大元素 放置在合适的位置。 先拷贝 A 为 Abackup,

Insertion Sort Integer Array Insertion Sort Linked List

Sort Integer Array using Insertion sort. //********************************************************************************************************/* Insertion Sort 原理:就是前面的sort部分全部是相对值,从后面拿一个元素,然后跟

Sorting (Merge Sort, Rainball Sort, quick select) 总结

Merge k Sorted Lists (这题是用PQ,或者merge sort都可以做,关于第K大的问题,参考: Find Kth 题目类型总结) Sort an Array (重点掌握merge sort和quick sort,因为两者可以演变为,divide conquer, quick select, 参考: Find Kth 题目类型总结) Sort Colors 思路:三指针,i

pytorch实现straight-through estimator(STE)

现在深度学习中一般我们学习的参数都是连续的,因为这样在反向传播的时候才可以对梯度进行更新。但是有的时候我们也会遇到参数是离>散的情况,这样就没有办法进行反向传播了,比如二值神经网络。本文中讲解了如何用pytorch对二值化的参数进行梯度更新的straight-through estimator算法。Question: STE核心的思想就是我们的参数初始化的时候就是float这样的连续值,当我们fo

【POJ3270】【Cow Sorting】

Cow Sorting Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 6411 Accepted: 2488 Description Farmer John's N (1 ≤ N ≤ 10,000) cows are lined up to be milked in the evening. Each

Code Practice Journal | Day58_Graph08 Topological Sorting

1. 概念 在一个有向无环图(DAG)中,根据节点的依赖关系,对所有的节点进行线性排序的算法 拓扑排序的结果不一定是唯一的 2. 实现 2.1 BFS(卡恩算法) 1、步骤 2、代码实现 以KamaCoder 117.软体构建 题目:117. 软件构建 (kamacoder.com) class Program{public static void Main(string

innovus:如何让部分sink长到target insertion delay的长度

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 来自星球提问: 参考命

leetcode 刷题之路 27 Insertion Sort List

Sort a linked list using insertion sort. 利用插入排序对一个链表进行排序。 插入排序是将待排序的序列分为部分,分别为有序的部分和无序的部分,排序时每次从无序的部分取出一个元素插入到有序的部分中合适的位置,初始时,有序部分只有一个元素,该元素自有序。根据这个思想,并为了方便起见,我们创建一个头结点dummyHead存储排序后的链表,初始阶段,该链表中只存储

MySQL-straight_join

参照文章:夏雪冬日 https://www.cnblogs.com/heyonggang/p/9462242.html 首先MySQL优化器要确定以谁为驱动表,也就是说以哪个表为基准,在处理此类问题时,MySQL优化器采用了简单粗暴的解决方法:哪个表的结果集小,就以哪个表为驱动表。 实际上在某些特殊情况里,排序字段可以不在驱动表里,比如驱动表结果集只有一行记录,并且在连接其它表时,索引除了连接