编程在main函数中定义数组(长度自定),用scanf进行数组的初始化,调用函数进行从大到小排序
编写排序函数voidselectSort(int*array,intn),它的功能是利用选择法实现数组元素从大到小的排序,voidbubbleSort(int*array...
编写排序函数void selectSort(int *array,int n),它的功能是利用选择法实现数组元素从大到小的排序,void bubbleSort(int*array,int n),它的功能是利用冒泡法实现数组元素从小到大的排序,主函数中先调用selectSort进行排序,在调用bubbleSort排序(大神救命,刚学C语言,不会写啊)
展开
1个回答
展开全部
#include <stdio.h>
#define N 5 //数组长度
void SelectSort(int *array , int length)/*对记录数组r做简单选择排序,length为待排序记录的个数*/
{
int temp,k;
int i,j;
for (i=0 ; i< length-1 ; ++i)//n-1趟排序
{
k=i;
for (j=i+1;j < length;++j)
if (array[j] > array[k] )//降序
k=j;
if ( k!=i)//若无序区第一个元素不是无序区中最小元素,则进行交换
{
temp=array[i];
array[i]=array[k];
array[k]=temp;
}
}
}
void Bubble(int *array, int length) //对长度为n的整数数组a进行冒泡排序
{
int i,j,t;
for(i=0;i<length-1;i++)
for(j=i+1;j<length;j++)
{
if(array[j]<array[i])//升序
{
t=array[j];
array[j]=array[i];
array[i]=t;
}
}
}
int main() {
int arr[N],i;
for(i=0;i<N;++i){
scanf("%d",&arr[i]);//输入数据
}
SelectSort(arr,N);
for(i=0;i<N;++i)
{
printf("%d ",arr[i]);
}
Bubble(arr,N);
printf("\n");
for(i=0;i<N;++i)
{
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询