数组升序排序函数c语言 c语言给数组的元素按升序

用函数编程实现在一个未排序的长度为20的数组按升序排序常用的c语言排序算法主要有三种即冒泡法排序、选择法排序、插入法排序 。
一、冒泡排序冒泡排序:
是从第一个数开始,依次往后比较,在满足判断条件下进行交换 。代码实现(以升序排序为例)
#includestdio.hint main()
{
int array[20] = { 6,9,7,8,5,3,4,0,1,2 , 21,23, 18, 33, 28,29,38,26, 48,19};
int temp;
for (int i = 0; i20; i)
{//循环次数
for (int j = 0; j 20 - i-1; j)
{
if (array[j]array[j 1])
{//前面一个数比后面的数小时发生交换
temp = array[j];
array[j] = array[j 1];
array[j1] = temp;
}
}
} //打印数组
for (int i = 0; i20; i)
printf("-", array[i]);
return 0;}
}
二、选择排序以升序排序为例:
就是在指定下标的数组元素往后(指定下标的元素往往是从第一个元素开始 , 然后依次往后) , 找出除指定下标元素外的值与指定元素进行对比 , 满足条件就进行交换 。与冒泡排序的区别可以理解为冒泡排序是相邻的两个值对比,而选择排序是遍历数组,找出数组元素与指定的数组元素进行对比 。(以升序为例)
#includestdio.h
int main()
{
int array[10] = { 6,9,7,8,5,3,4,0,1,2 };
int temp, index;
for (int i = 0; i9; i)
{
index = i;
for (int j = i; j10; j)
{
if (array[j]array[index])
index = j;
}
if(i != index)
{
temp = array[i];
array[i] = array[index];
array[index] = temp;
}
for(int i=0;i10:i)
printf("-"array[i]);
return 0;
}
三、快速排序
是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小 , 然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列 。
void QuickSort(int* arr, int size)
{
int temp, i, j;
for(i = 1; i size; i)
for(j=i; j0; j--)
{
if(arr[j] arr[j-1])
{
temp = arr[j];
arr[j]=arr[j-1];
arr[j-1]=temp;
}
}
}
c语言 编写一个排序函数,实现对主函数中数组的升序排序.#include stdio.h
void mysort(int *p,int n){
int i,j,k;
for(i=0;in;i){
for(k=i,j=k 1;jn;j)
if(p[k]p[j])
k=j;
if(k-i)
j=p[k],p[k]=p[i],p[i]=j;
}
}
int main(int argc,char *argv[]){
int a[10]={100,90,80,70,60,50,40,30,20,10,},i;
mysort(a,10);
for(i=0;i10;printf("%d ",a[i]));
printf("\n");
return 0;
}
C语言,数组数据升序排列#include stdio.h
#include malloc.h
int main()
{
int *p=NULL,n=0;
int i,j,temp;
printf("请输入数组大小!\n");
scanf("%d",n);
p=(int *)malloc(sizeof(int)*n);
if(p==NULL)
{
printf("内存不足分配失败!\n");
return 0;
}
printf("请为%d个元素赋值如 1 2 3\n",n);
for(i=0;in;i)
scanf("%d",p i);
for(i=1;in;i)
{
for(j=0;jn-i;j)
if(p[j]p[j 1])
{
temp=p[j];
p[j]=p[j 1];
p[j 1]=temp;
}
}
printf("排序结果!\n");
for(i=0;in;i)
printf("]",p[i]);
printf("\n");
return 0;
}
【数组升序排序函数c语言 c语言给数组的元素按升序】关于数组升序排序函数c语言和c语言给数组的元素按升序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读