优秀设计网站点评,福田专业网站建设公司,360浏览器显示2345网址导航,wnmp搭建wordpress文章目录 前言本章目标简化版桶排序题目一题目二 前言 #xff08;1#xff09;我是一个大三的学生#xff08;准确来说应该是准大三#xff0c;因为明天才报名哈哈哈#xff09;。 #xff08;2#xff09;最近就想每天闲着没事也刷些C语言习题来锻炼下编程水平#x… 文章目录 前言本章目标简化版桶排序题目一题目二 前言 1我是一个大三的学生准确来说应该是准大三因为明天才报名哈哈哈。 2最近就想每天闲着没事也刷些C语言习题来锻炼下编程水平也一直在思考企业对应届大学生能力的要求所以经常会想到关于面试的事情。由于我也没实习过所以我对面试没有一个具象化的概念。 3好在我会动用网络去搜集信息我打开了CSDN查了下“C语言编程每日一练”就发现了“C语言面试题每日一练‘’的文章其中我发现了嵌入式面试对数据结构与算法的要求也不低所以我要特地花时间去提升下我的数据结构与算法的能力了不能啥也不知道哇 本章目标 掌握简化版桶排序的使用场景和代码架构会用简化版桶排序解决一些问题 简化版桶排序 简化版桶排序的思路就是如果要对数据范围是0~10的整数就行排序那么我们需要11个桶即一个大小为11的数组每个元素来表示0到10之间每个数出现的次数因为数组的元素由a[0]到a[10]来排列a[0]里面装的是数字0的个数a[1]里面装的是数字1的个数以此类推最后按a[0]至a[10]的顺序或者是a[10]到a[0]的顺序来输出数组的元素就可以实现对原数据进行从小到大或者是从大到小的顺序排列。 题目一 题目让计算机随机读入5个数数的大小范围是0~10然后将这5个数从大到小输出。 思路借助一个一维数组。 从小到大输出
#include stdio.h
int main()
{int a[11], i, j, t;for (i 0; i 10; i)a[i] 0; //初始化一维数组为0for (i 1; i 5; i) //循环读入5个数{scanf(%d,t); //把每一个数读入到变量t中a[t]; //进行计数}for (i 0; i 10; i)for (j 1; j a[i]; j)printf(%d ,i);getchar(); getchar();//这里的getchar();用来暂停程序以便查看程序输出内容//也可以用system(pause);等来代替return 0;
}从大到小排序
#include stdio.h
int main()
{int a[11], i, j, t;for (i 0; i 10; i)a[i] 0; //初始化一维数组为0for (i 1; i 5; i) //循环读入5个数{scanf(%d,t); //把每一个数读入到变量t中a[t]; //进行计数}//i就是输入的数值a[i]就是i的个数for (i 10; i 0; i--) //改这里就可以决定是从大到小排序还是从小到大排序for (j 1; j a[i]; j)printf(%d ,i);getchar(); getchar();//这里的getchar();用来暂停程序以便查看程序输出内容//也可以用system(pause);等来代替return 0;
}题目二 题目输入n个0~1000之间的整数将它们从大到小排序。 思路对数据范围在0到1000的整数排序我们需要1001个桶来表示0~1000之间每一个数出现的次数。 从大到小输出。
#include stdio.h
int main()
{int book[1001], i, j, t, n;for (i 0; i 1000; i)book[i] 0;scanf(%d,n); //输入一个数n表示接下来有n个数for (i 1; i n; i){scanf(%d,t);book[t];}for (i 1000; i 0; i--)for (j 1; j book[i]; j)printf(%d ,i);getchar(); getchar();return 0;
}