1 问题

比如我们给定0~N之间的N个数字(大于等于0,小于N,并且不重复)进行按小到大排列,比如N是5,我们给定数据{3, 2, 1, 0, 4},我们按照从小到大的排名最后就是{0, 1, 2, 3, 4}

2 思路

我们遍历数组,下标为i,我们把i和a[i]进行对比,如果不想等我们就进行交换a[i]和a[a[i]]的值,我们知道题目要求是0~N,所以a[a[i]]不会下标越界.如果发现i和a[i]相等,我们再把++i

3 代码实现

  1 #include <iostream>2 #include <stdlib.h>3 using namespace std;4 5 6 void permutation(int *a, int length)7 {8     if (a == NULL || length <= 0)9     {10         return;11     }12     int count = 0;13     for (int i = 0; i < length; ++i)14     {15         while (a[i] != i)16         {17             int temp = a[a[i]];18             a[a[i]] = a[i];19             a[i] = temp;20         }21     }22 }23 24 25 int main()26 {27     int a[6] = {3, 1, 2, 0, 5, 4};28     int s

给定0~N之间的N个数字(大于等于0,小于N,不重复)进行按小到大排列(不用其它的经典排序算法)相关推荐

  1. Python模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖;轮盘转的时候是随机的, 如果范围在[0,0.08)之间,代表一等奖,如果范围在[0.08,0.3)之间,代表2等奖, 如果范围

    .模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖;轮盘转的时候是随机的, 如果范围在[0,0.08)之间,代表一等奖,如果范围在[0.08,0.3)之间,代表2等奖, 如果范围在[0, ...

  2. java 3 9 2 6数字排序_GitHub - JourWon/sort-algorithm: 史上最全经典排序算法总结(Java实现)...

    史上最全经典排序算法总结(Java实现) 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗, ...

  3. Python之有趣的小程序——猜数字2.0

    目录 前言 一.前景回顾 二.思路讲解 三.猜数字2.0介绍 四.猜数字2.0源程序 五.程序讲解 1.基础部分 (1)while循环与for循环 (2)数值大小判断 2.再来一局 总结 前言 让大家 ...

  4. 7、猜数游戏。预设一个0~9之间的整数,让用户猜一猜并输入所猜的数,如果大于预设的数,显示“太大”;小于预设的数,显示“太小”,如此循环,直至猜中该数,显示“恭喜 你猜中了”

    a=6;b=0 print("欢迎来到猜数游戏") while a<b or a>b:b=int(input("请在0~9之间参一个数:"))if ...

  5. Java黑皮书课后题第4章:*4.11(十进制转十六进制)编写程序,提示用户输入0~15之间的一个整数,显示其对应的十六进制数。对于不正确的输入数字,提示非法输入

    *4.11(十进制转十六进制)编写程序,提示用户输入0~15之间的一个整数,显示其对应的十六进制数.对于不正确的输入数字,提示非法输入 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.11 ...

  6. 0~100之间所有数字的累计求和结果.python

    #计算0~100之间所有数字的累计求和结果 #0.定义最终结果的变量 result = 0 #1.定义一个整数的变量记录循环的次数 i = 0 #2.开始循环 while i <= 100: r ...

  7. 给定n个整数(0-100),其中0可以替换成任意其他数字,如数组{98,99,100,1,2,3} 视为连续,要求判断这n个整数是否连续?

    该题目为某IT公司的笔试题目 题目: 给定n个整数(0-100),其中0可以替换成任意其他数字,如数组{98,99,100,1,2,3} 视为连续,要求判断这n个整数是否连续?若是连续数组,返回tru ...

  8. 5.练习:猜数字:随机生成[0,100]之间的随机数,让用户猜生成的数字,显示猜大了还是猜小了,如果猜对了,提示共猜了多少次???

    5.练习:猜数字:随机生成[0,100]之间的随机数,让用户猜生成的数字,显示猜大了还是猜小了,如果猜对了,提示共猜了多少次??? 学习:第7遍 1.随机生成[0,100]之间的随机数 让用户猜生成的 ...

  9. 算法——0~1之间浮点实数的二进制表示

    问题描述 0~1之间浮点实数的二进制表示 1.给定一个介于0和1之间的实数,(如0.625),类型为double 打印它的二级制表示(0.101), 因为小数点后的二进制分别表示0.5,0.25,0. ...

最新文章

  1. Day 13 Python 一之helloworld
  2. C++ Traits技术
  3. 函数----MoveWindow
  4. Erlang之父Joe Armstrong去世
  5. hadoop学习笔记(五):java api 操作hdfs
  6. 网络控制系统分析与设计——时延问题的网络控制系统建模
  7. HDU 1395 2^x mod n = 1 暴力取模
  8. uniapp中使用阿里云视频点播功能
  9. jquery-question
  10. 运维工程师主要做什么_弱电工程IT运维工作到底是做什么的?
  11. 优秀简历只需一篇就能打天下
  12. Word文档保存方式谈(转)
  13. 北京车牌那么难摇为什么还能那么受欢迎?
  14. wangeditor设置字体_自定义颜色、字体、字号
  15. 必不可少的数学基础-数列的柯西收敛准则
  16. 折价买分级基金的教程
  17. C语言指针难吗?纸老虎而已,纯干货讲解
  18. php 仿 js encodeURI
  19. WMS仓库管理系统---(18)盘点管理初盘单移动盘点
  20. 在Windows2008 R2 服务器上使用maven私有仓库

热门文章

  1. WPF DataGrid 如何将被选中行带到视野中
  2. .NET跨平台实践:.NetCore、.Net5/6 Linux守护进程设计
  3. Asp.NET Core 中如何加密 Configuration ?
  4. [Abp 源码分析]ASP.NET Core 集成
  5. Entity Framework Core 5中实现批量更新、删除
  6. 《Unit Testing》2.1 伦敦学派如何做隔离
  7. Sql Server之旅——第七站 复合索引和include索引到底有多大区别?
  8. dotnet core 通过 frp 发布自己的网站
  9. 自定义构建基于.net core 的基础镜像
  10. 从“梁漱溟:思考问题有八层境界”所联想到的