对于数字的排序(数组形式)
1.冒泡排序:比如对十个数字进行排序,将相邻的两个数进行比较,如果第一个数大于第二个数,将两值对换,最后把最大的一位放在最后一位,然后再将剩余的九个数在进行相同的对换。 所以n个数需要n-1趟比较,第一趟进行n-1次两两比较,第j趟进行n-j趟,最终的结果是将这些数从小到大进行排列。
#include <stdio.h>
int main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)//进行n-1次比较的循环,n个数进行n-1次
{
for(i=0;i<9-j;i++) //每一次要进行多少趟的比较,第j趟进行n-j趟
{
if (a[i]>a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;//当上面的数大于下面的时候,进行两两调换,拿t当作中间变量
}
}
}
printf("the sorted number:\n");
for(i=0;i<10;i++)//这个循环其实是对10组数的输出
{
printf("%d ",a[i]);
}
printf("\n");
}
2.比如对n个数排序(从大到小),先找出n个中最大的数,放在a[0],然后在找其余n-1个数中最大的,放在a[1].....即可
a[0]与a[1]-a[9]的数进行比较,将最大值放置a[0];然后a[1]与a[2]-a[9]的数进行比较,最大值放在a[1],,,,,a[8]与a[9]进行比较。
#include <stdio.h>
int main()
{
int i,j,x=10,t,a[10];
for(i=0;i<x;i++)
scanf("%d",&a[i]);
for(i=0;i<x;i++)
{
for(j=i+1;j<x;j++)
{
if(a[i]<a[j])//从大到小
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<x;i++)
printf("%d ",a[i]);
}
对于数字的排序(数组形式)相关推荐
- 剑指offer:数字在排序数组中出现的次数
题目描述 统计一个数字在排序数组中出现的次数. 解题思路 暴力求解,没用到排序的已知条件. class Solution { public:int GetNumberOfK(vector<int ...
- 【剑指offer-Java版】38数字在排序数组中出现的次数
数字在排序数组中出现的次数: 最简单粗暴的方法是O(n^2) 可能的解法可以采用二分,首先根据二分找到给定数字在数组中的位置,然后再左右二分,找到边界(第一个和最后一个),左右边界的差值就是出现次数 ...
- 面试题整理11 数字在排序数组中出现的次数
<剑指offer>面试题38: 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在此数组中出现了4次,因此输出4. 分析:看到排 ...
- 【C语言】数字在排序数组中出现的次数(改动)
//数字在排序数组中出现的次数(改动) //统计一个数字在排序数组中出现的次数.比如:排序数组{1,2,3,3,3.3,4,5}和数字3,因为3出现了4次,因此输出4. #include <st ...
- 剑指Offer(Java版):数字在排序数组中出现的次数
2019独角兽企业重金招聘Python工程师标准>>> 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组为 {1,2,3,3,,3,3,4,5}和数字3,由于3在这个数组中 ...
- 37.数字在排序数组出现的次数
题目描述: 统计一个数字在排序数组中出现的次数. 思路分析: 由题目知道这道题是属于排序数组中的查找问题,那么我们首先想到的就是二分查找.由于要在排序数组中找一个数字出现的次数,那么我们只要确 ...
- 《剑指offer》-- 调整数组顺序使奇数位于偶数前面、顺时针打印矩阵、数字在排序数组中出现的次数
一.调整数组顺序使奇数位于偶数前面: 1.题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之 ...
- 【剑指offer】数字在排序数组中出现的次数
转载请注明出处:http://blog.csdn.net/ns_code/article/details/27364557 题目描写叙述: 统计一个数字在排序数组中出现的次数. 输入: 每一个測试案例 ...
- 《剑指offer》数字在排序数组中出现的次数
题目:统计一个数字在排序数组中出现的次数. 解析:不要怀疑你的眼睛,也不用怀疑这题目难度,直接干! public class Solution {public int GetNumberOfK(int ...
- 数据结构与算法--数字在排序数组中出现次数
数字在排序数组中出现次数 题目:统计一个数字在一个排序数组中出现的次数.例如,输入数组{1,2,3,3,3,3,3,4,5} 和数字3,由于3 在数组中出现的次数是5,因此返回5 简单方案一 既然输入 ...
最新文章
- 自学了python基础英语_Python自学路线图之Python基础自学
- 腾讯美团爱奇艺等10+大厂面试题汇总!
- android运行jar文件路径,java命令行执行jar包报错解决
- IDaaS企业身份管理训练营火热报名中 体验新一代企业云身份服务
- mysql 数据分析的步骤_数据分析8个主要步骤
- 上传文件和提交textfield_0基础掌握Django框架(37)文件上传
- Linux下系统与硬件时钟管理
- iOS开发,多个button数组,每个数组只能选中5项,多个数组只能选择3个。
- dataGridView1.DataSource多增加列,数据不进自己规定的列?
- 【报告分享】5G赋能中国智慧城市白皮书.pdf(附下载链接)
- IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析
- jfreechart环形图完美实现
- 机器学习- 吴恩达Andrew Ng Week4 神经网络Neural Networks知识总结
- 47 jquery 计时器 选择器 筛选器 左边菜单栏
- 单片机常用外设驱动电路
- 设置路由器当作交换机使用
- IB中文诗歌手法分析
- 酷比魔方 iwork10旗舰版恢复出厂设置遇到的问题
- 夜拍王荣耀10 VS同档位旗舰机夜拍功能,实战结果一目了然!
- 防止360浏览器小窗下载视频