首页 > 其他分享 >排序

排序

时间:2024-08-27 19:47:28浏览次数:5  
标签:int 冒泡排序 极致 追求 ia 排序

排序这个东西真的挺卷的,有些就追求极致的速度,有些追求极致的简洁,有必要学一学提一提,尽管 \(sort\) 能解决绝大部分问题。

学习笔记

优缺点

冒泡排序

mpft

冒泡

第一个学的排序也是最简单的排序,也就是一个一个比较,如果右边的数大于左边的数就交换。

#include<bits/stdc++.h>
using namespace std;
int n;
int a[100000];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}	
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n-i;j++){
			if(a[j]>a[j+1]){
				swap(a[j],a[j+1]);
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout<<a[i]<<" ";
	}
	return 0;
}

标签:int,冒泡排序,极致,追求,ia,排序
From: https://www.cnblogs.com/sadlin/p/18383382

相关文章

  • 合并两个排序的数组
     输入:nums1=[1,2,3,0,0,0],m=3nums2=[2,5,6],n=3输出:[1,2,2,3,5,6] publicvoidmergeArray(int[]nums1,intm,int[]nums2,intn){inti=m-1;intj=n-1;intindex=m+n-1;while(index>=0){......
  • Sort排序
    场景一:普通排序正序(升序)list=list.stream().sorted().collect(Collectors.toList());list=list.stream().sorted(Comparator.comparing(Student::getAge))倒序(降序)list=list.stream().sorted(Comparator.reverseOrder())list=list.stream().sorted(Comparator.compa......
  • python冒泡排序
    1、什么是冒泡排序  BubbleSort是最简单和通用的排序方法,基本思想是:在待排序的一组数据中,将相邻的两个数进行比较,若前面的数比后面的数大,就交换两个数,否则不交换;如此下去,直至完成最终排序。由此可得,在排序的过程中,大的数据往下沉,小的数据往上浮,就像气泡一样。于是将这种算......
  • 【数据结构】二叉树的顺序结构,详细介绍堆以及堆的实现,堆排序
    目录1.二叉树的顺序结构2.堆的概念及结构3.堆的实现3.1堆的结构3.2堆的初始化3.3堆的插入 3.4堆的删除3.5获取堆顶数据3.6堆的判空3.7堆的数据个数3.8堆的销毁4.堆的应用4.1堆排序4.1.1向下调整建堆的时间复杂度 4.1.2向上调整建堆的时间复杂......
  • 排序算法
    冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。......
  • 堆排序算法及优化(java)
    目录1.1引言1.2堆排序的历史1.3堆排序的基本原理1.3.1堆的概念1.3.2堆排序的过程1.3.3堆调整1.3.4堆排序算法流程1.4堆排序的Java实现1.4.1简单实现1.4.2代码解释1.4.3优化实现1.4.4代码解释1.5堆排序的时间复杂度1.5.1分析1.5.2证明1.6堆排序......
  • 大根堆排序
    原理假设待排序目标为数组arr,可将其视为一个完全二叉树。在大根堆排序中,根节点为最大值,我们循环将根取出,并减少大根堆的长度和调整堆使之堆维持大根堆,直至取出堆中全部节点数据。因为我们每次都是取出大根堆的最大值,故取出数据便有序了。完全二叉树父节点和叶子节点的索引关......
  • 排序------快速排序(C语言实现)
    目录快速排序算法例题题目描述具体代码:代码分析函数定义:主函数:快速排序算法快速排序(QuickSort)是一种高效的排序算法,它采用分治策略,通过选择一个“基准”元素并将其他元素重新排列为两部分,一部分小于基准,另一部分大于基准,然后递归地对这两部分进行排序。快速排......
  • 函数qsort的使用与冒泡排序模拟实现qsort
    目录一.qsort函数的使用示例二.使用冒泡排序模拟实现qsort函数二.1.冒泡排序 二.2.模拟实现qsort函数一.qsort函数的使用1.1.qsort函数是用来排序任意数据类型的数组,对其中的元素进行一定规则的排列2.qsort不返回任何值3.qsort的第一个参数是一个void*指针,指向......
  • C++编程-数据排序2
    关于以后的更新已经8月25号了,即将接近CSP-J/S,因此,在数据排序算法更新完后,我们会重点更新CSP的试卷以及知识点,希望大家在考试中旗开得胜!回顾数据排序1在数据排序1中,我们讲解了选择、冒泡、插入、桶、快速排序,并留下了2道题目,今天就来解答这两道题目一:冒泡排序#include<st......