使用C实现数组中元素的排序,使得数组中的元素从小到大排列。只不过在这个过程中出了一点小问题,在C中进行数字交换的时候,必须要使用指针的,不能使用引用。在后面的文章中,我要学习一个在C中的引用和指针的区别。下面看一下我的代码吧。
#include <stdio.h>
void swap(int *a,int *b);
void rest(int lels[],int count);
/**
* 该实例用于实现对用户输入的数组进行排序
* 要求的数组中的元素从小到大来咧
*
* @brief main
* @return
*/
int main(void)
{
/** 用于循环遍历的i **/
int i = 0;
/** 用于存储数组中元素的个数 **/
int num;
printf("Please enter the number of the array:\n");
scanf("%d",&num);
/** 用于存储用户输入的数组 **/
int array[num];
printf("Please enter the element of the array:\n");
for(i = 0;i < num;i++)
scanf("%d",&array[i]);
rest(array,num);
printf("The array after rest:\n");
for(i = 0;i < num;i++)
printf("%d\t",array[i]);
return 0;
}
/**
* @brief swap 用于将元素a和元素b交换
* @param a 要交换的数字a
* @param b 要交换的数字b
*/
void swap(int *a,int *b){
int temp = *a;
*a = *b;
*b = temp;
}
/**
* @brief rest 用于对数组进行排序,从小到大排列
* @param lels 要被排序的数组
* @param count 被排序的数组元素的个数
*/
void rest(int lels[],int count)
{
/** 暂时使用冒泡排序 **/
/** 临时变量i,j **/
int i,j;
for(i = 0;i < count-1;i++){
for(j = i+1; j < count;j++){
if(lels[i] > lels[j])
swap(&lels[i],&lels[j]);
}
}
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
利用C语言可以实现对数组的各种操作,如输入数组元素,输出数组元素、求数组元素平均值、输出数组元素最大值、输出数组元素最小值、查找某数值元素是否存在、给数组元素排序等功能。本压缩文件中是上述功能对应的...
C语言的数组 排序,删除,查找联合搬算法
我们交换数组可以实现元素上下移动了,这个效果我们在表格或以前排序算法中都会用到,下面来看一个JavaScript下实现交换数组元素上下移动例子 在写项目的时候,要实现一个数组记录上下移动的示例。写起来也没有没...
总共46个C语言源文件,主要包括数组排序算法等C语言中的数组基本运算。
这个c/c++小程序的功能是可以让用户从键盘输入数组长度和元素个数, 实现数组元素从大到小,或者从小到大排序,实现冒泡排序的算法.主要涉及到的c/c++的语法有数组/动态内存分配等语法
主要介绍了C语言将数组中元素的数排序输出的相关问题解决,文中的题目是将元素连接起来排成一个数并要求出这类结果中数最小的一个,需要的朋友可以参考下
归并排序的过程是,将数组分为许多的组,即将数组元素多的数组分为数组元素少的数组,然后再将其合并。它的优点是,同时对多个数据进行对比排序,归并排序是分治法的典型应用。 分:体现在将数组分为小数组。 治:对...
c语言实现 一维数组冒泡排序 //1.比较相邻元素,如果左边比右边大,则进行交换 如果有i个数,则需要进行i-1次比较 //2.对每一对相邻元素做同样工作,执行完毕后,找到第一个最大值 //3.重复以上工作,每次找到的最大...
谈到找数组中最大元素的问题,很多人第一个感觉就是排序,然后第一个或者最后一个就是的,其实在一个尚未排序的数组中也可以实现--通过递归!
C语言实战开发100例之数组排序
1、由键盘对10个数组元素初始化,求它们的平均值并输出。 2、输入一个十进制整数,输出与其相等的二进制形式。将二进制保存在一个数组中,然后按相反的顺序输出。... 3、编程对10个数组元素的排序。
11. 把一个二维实型数组a按照第0列的元素进行排序(由小到大排序,用起泡法) 。例如:如果a[i][0]大于a[i+1][0],则i行与i+1行中所有元素都要进行对换。
基本算法quicksort来对int型arr进行从小到大的排序。。
C语言 数组中重复的数字解决方法: 题目:在一个长度为n的数组里的所有数字都在0-n-1的 范围内。数组中某些数字是重复的,但是不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字...
JavaScript数组sort()方法排序数组的元素。 语法 array.sort( compareFunction ); 下面是参数的详细信息: compareFunction : 指定一个函数,定义排序次序。如果省略,数组字典顺序排序。 返回值: 返回一个排序的...
快速排序c语言 上述代码中,`swap`函数用于交换两个元素的位置。`partition`函数用于将数组划分为较小元素和较大元素两个部分,并确定基准元素的正确位置。`quickSort`函数则是使用递归的方式对划分后的数组进行...
C语言程序设计-编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果;
这是利用c语言中的链表来解决的问题,有利于你对C语言链表的更好的了解
数据结构中的查找和排序C语言实现代码(最基本的算法)