首页 > 其他分享 >桶排序2

桶排序2

时间:2024-11-10 09:40:44浏览次数:1  
标签:10 include 初始化 int 排序 数据

#include <iostream>
#include <bits/stdc++.h> 
using namespace std;
/*
桶排序思想:
把每个数组开辟的空间看作一个桶,
将与桶编号相同的数据存入桶中

1 3 5 7 9 8 6 4 2 10 数据b[]
开辟桶的个数大于数据最大值
第一步:桶内初始化为0
第二步:判断数据存入桶中 
 a[11] 
 a[0]...a[10]
if(i==b[j])
a[i]++;
第三步输出:
if(a[i]!=0){
	i
	a[i]--;
}
*/
int main(){
	int a[10]={1,2,3,4,5,6,7,8,9,10};
	int b[1000];
	memset(b,0,sizeof(b));//数组全部初始化为0
	/*
		for(int i=0;i<1000;i++){
			b[i]=0;
		}
	*/
	for(int i=0;i<10;i++){
		b[a[i]]++;
	}
	for(int i=0;i<1000;i++){
		while(b[i]!=0){
			cout<<i<<" ";
			b[i]--;
		}
	}
	return 0;
}

  

标签:10,include,初始化,int,排序,数据
From: https://www.cnblogs.com/wodefazhang/p/18537661

相关文章

  • 【VBA实战】用Excel制作排序算法动画续
    为什么会产生用excel来制作排序算法动画的念头,参见【VBA实战】用Excel制作排序算法动画一文。这篇文章贴出我所制作的所有排序算法动画效果和源码,供大家参考。冒泡排序:插入排序:选择排序:快速排序:归并排序:堆排序:希尔排序:完整源码如下。OptionExplicitPublichm......
  • 排序算法 - 冒泡
    文章目录1.冒泡排序1.1简介1.2基本步骤:1.3示例代码(C)1.4复杂度分析1.5动画展示1.冒泡排序1.1简介冒泡排序(BubbleSort)是一种简单的排序算法,其基本思想是通过相邻元素的比较和交换,把最大的元素逐步“冒泡”到列表的末尾。该算法的名称来源于较小的元素会逐......
  • 数据结构---排序(下)
    一.快速排序补充快速排序的分治部分还有其他方法,如挖坑法,快慢指针法。1.挖坑法(重要)思路:先将基准位置元素用tmp保存,假定基准位置没有值(有个坑),然后分别从前后向中间遍历,右边大于基准就减减,遇到小于基准的就放到基准值位置的坑中,左边亦然,遍历整个数组后,将基准值填入最后一个左......
  • 快速排序
    题目描述将读入的 N 个数从小到大排序后输出。输入格式第一行为一个正整数 N。第二行包含 N 个空格隔开的正整数 ,为你需要进行排序的数。输出格式将给定的 N 个数从小到大输出,数之间空格隔开,行末换行且无空格。输入#1542451输出#112445说......
  • 插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序、归并排序、基数排序
    #include<stdio.h>#include<stdlib.h>//插入排序voidInsertSort(intA[],intn){inti,j,temp;for(i=1;i<n;i++){temp=A[i];j=i-1;while(j>=0&&A[j]>temp){A......
  • 链表的插入排序
    #include<stdio.h>#include<stdlib.h>//定义链表节点结构typedefstructNode{intdata;structNode*next;}Node;//创建新节点Node*createNode(intdata){Node*newNode=(Node*)malloc(sizeof(Node));newNode->data=data;newN......
  • 软件设计师:排序算法总结
    一、直接插入排序方式:从第一个数开始,拿两个数比较,把后面一位跟前面的数比较,把较小的数放在前面一位二、希尔排序方式:按“增量序列(步长)”分组比较,组内元素比较交换 假设初始关键字:48   37   64   96   75   12   26   58   54   3,有......
  • 常考的排序算法
    冒泡排序#include<iostream>#include<string>usingnamespacestd;//voidShellsort(intA[],intn)//{//   intd,i,j;//   for(d=n/2;d>=1;d=d/2)//   {//      for(i=d+1;i<=n;i++)//      {//     ......
  • 第十三届蓝桥杯Python 大学 B 组 数位排序
    数位排序问题描述小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面。例如,2022排在409前面,因为2022的数位之和是6,小于409的数位之和13。又如,......
  • 100种算法【Python版】第51篇——希尔排序
    本文目录1算法步骤2算法示例3python代码3.1代码说明3.2复杂度分析4算法优化4.1Shell原始增量序列4.2Hibbard增量序列4.3Knuth增量序列4.4Sedgewick增量序列4.5Tokuda增量序列4.6Pratt增量序列5不同的增量序列的效率对比希尔......