常用的C语言排序算法(两种)_C 语言

1.

要求输入10个整数,从大到小排序输出

输入:2 0 3 -4 8 9 5 1 7 6

输出:9 8 7 6 5 3 2 1 0 -4

解决方法:选择排序法

实现代码如下:

#include <stdio.h>
int main(int argc, const char * argv[]) {
int num[10],i,j,k,l,temp;
//用一个数组保存输入的数据
for(i=0;i<=9;i++)
{
scanf("%d",&num[i]);
}
//用两个for嵌套循环来进行数据大小比较进行排序
for(j=0;j<9;j++)
{
for(k=j+1;k<=9;k++)
{
if(num[j]<num[k]) //num[j]<num[k]
{
temp=num[j];
num[j]=num[k];
num[k]=temp;
}
}
}
//用一个for循环来输出数组中排序好的数据
for(l=0;l<=9;l++)
{
printf("%d ",num[l]);
}
return 0;
}

2.

要求输入10个整数,从大到小排序输出

输入:2 0 3 -4 8 9 5 1 7 6

输出:9 8 7 6 5 3 2 1 0 -4

解决方法:冒泡排序法

实现代码如下:

#include <stdio.h>
int main(int argc, const char * argv[]) {
//用一个数组来存数据
int num[10],i,j,k,l,temp;
//用for来把数据一个一个读取进来
for(i=0;i<=9;i++)
{
scanf("%d",&num[i]);
}
//用两次层for循环来比较数据,进行冒泡
for(j=0;j<9;j++)
{
for(k=0;k<9-j;k++)
{
if(num[k]<num[k+1]) //num[k]<num[k+1]
{
temp=num[k];
num[k]=num[k+1];
num[k+1]=temp;
}
}
}
//用一个for循环来输出数组中排序好的数据
for(l=0;l<=9;l++)
{
printf("%d ",num[l]);
}
return 0;
}

以上所述是小编给大家介绍的常用的C语言排序算法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c语言排序算法
c语言排序算法、c语言冒泡排序算法、c语言快速排序算法、堆排序算法c语言、希尔排序算法c语言,以便于您获取更多的相关知识。

时间: 2024-10-29 05:59:33

常用的C语言排序算法(两种)_C 语言的相关文章

VC++实现选择排序算法简单示例_C 语言

本文以一个非常简单的实例说明VC++选择排序算法的实现方法,对n个记录进行n-1趟简单选择排序,在无序区中选取最小记录. 具体实现代码如下: #include<iostream> using namespace std; //简单选择排序 void SelectSort(int r[ ], int n) { int i; int j; int index; int temp; for (i=0; i<n-1; i++) //对n个记录进行n-1趟简单选择排序 { index=i; for

常用排序算法的C语言版实现示例整理_C 语言

所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来.其确切定义如下: 输入:n个记录R1,R2,-,Rn,其相应的关键字分别为K1,K2,-,Kn. 输出:Ril,Ri2,-,Rin,使得Ki1≤Ki2≤-≤Kin.(或Ki1≥Ki2≥-≥Kin).     排序的时间开销可用算法执行中的数据比较次数与数据移动次数来衡量.基本的排序算法有如下几种:交换排序(冒泡排序.快速排序).选择排序(直接选择排序.堆排序).插入排序(直接插入排序.希尔排序).归并排序.分配排序(基数排

算法-选择排序这两种有什么不同,注意粗体部分

问题描述 选择排序这两种有什么不同,注意粗体部分 public static void sort(Comparable[] a){ // 将a[] 按升序排列 int N = a. length; // 数组长度 for (i nt i = 0; i < N; i ++) { // 将a[i ] 和a[i +1. . N] 中最小的元素交换 int min = i ; // 最小元素的索引 for (int j = i +1; j < N; j ++) if (l ess(a[j ] a[mi

详解计数排序算法及C语言程序中的实现_C 语言

关于计数排序算法 当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k).计数排序不是比较排序,排序的速度快于任何比较排序算法. 由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量内存.计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序人名.但是,计数排序可以用在基数排序中的算法来排序数据范围很大的数组. 算法的步骤如下: 找出待排序的数组中最大

java常用的7大排序算法汇总

这段时间闲了下来,就抽了点时间总结了下java中常用的七大排序算法,希望以后可以回顾! 1.插入排序算法 插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好序,本趟需要找到 i 对应的元素 x 的正确位置 k ,并且在寻找这个位置 k 的过程中逐个将比较过的元素往后移一位,为元素 x "腾位置",最后将 k 对应的元素值赋为 x ,一般情况下,插入排序的时间复杂度和空间复杂度分别为 O(n2 ) 和 O(1). /**  * @param

js常用的数组元素排序算法(冒泡 插入 希尔)(1/2)

下面来看看网页特效中常用的一些排序方法 ,我们主要是包括有冒泡 插入 希尔排序方法 ,主要是针对数组操作.     // ---------- 一些排序算法     // js 利用sort进行排序      systemsort:function(array){         return array.sort(function(a, b){             return a - b;         });     },     // 冒泡排序      bubblesort:fu

7种排序算法的实现示例_C 语言

复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <time.h> void BubbleSort1 (int n, int *array) /*little > big*/{ int i, j; for (i=0; i<n-1; i++) {  for (j=n-1; j>i; j--)  {   if (array[j] < array[j-1])   {    int temp

IOS应用程序多语言本地化的两种解决方案_IOS

最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法: 一.程序中提供给用户自己选择的机会: 二.根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点: 本地化应用程序名称 本地化字符串 本地化图片 本地化其他文件 1.本地化应用程序名称 (1)点击"new file"然后在弹出窗口左侧选择iOS的resource项,在

mysql数据库自增id重新从1排序的两种方法

使用mysql时,通常表中会有一个自增的id字段,但当我们想将表中的数据清空重新添加数据时,希望id重新从1开始计数,用以下两种方法均可: 通常的设置自增字段的方法: 创建表格时添加: create table table1(id int auto_increment primary key,...) 创建表格后添加: alter table table1 add id int auto_increment primary key 自增字段,一定要设置为primary key. 例子 alter