13个回答
展开全部
//选择排序 每次找出所剩元素中最小(大)的值
void selectionSort(int arr[],int n)
{
for (int i = 0; i < n; i++){
//寻找[i,n)区间的最小值
int minIndex = i;
for (int j = i + 1; j < n; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
swap(arr[i], arr[minIndex]);
}
}
void selectionSort(int arr[],int n)
{
for (int i = 0; i < n; i++){
//寻找[i,n)区间的最小值
int minIndex = i;
for (int j = i + 1; j < n; j++)
if (arr[j] < arr[minIndex])
minIndex = j;
swap(arr[i], arr[minIndex]);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define N 10
int main()
{
int array[N];
printf("请输入整数列: ",N);
for(int i=0; i<N; i++)
scanf("%d",&array[i]);
for(i=0; i<N; i++)
for(int j=i+1; j<N; j++)
{
if(array[i]<array[j])
{
int t=array[i];
array[i]=array[j];
array[j]=t;
}
}
printf("从小到大的顺序为:\n");
for(i=0;i<N;i++)
{printf("%3d",array[i]); }
printf("\n");
return 0;
}
#define N 10
int main()
{
int array[N];
printf("请输入整数列: ",N);
for(int i=0; i<N; i++)
scanf("%d",&array[i]);
for(i=0; i<N; i++)
for(int j=i+1; j<N; j++)
{
if(array[i]<array[j])
{
int t=array[i];
array[i]=array[j];
array[j]=t;
}
}
printf("从小到大的顺序为:\n");
for(i=0;i<N;i++)
{printf("%3d",array[i]); }
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void selectsort( int a[] , int n )
{
int i , j , small , temp ;
for( i = 0 ; i < n-1 ; i ++ )
{
small = i ;
for( j = i + 1 ; j < n ; j ++ )
if( a[j] < a[small] ) small = j ;
if( small != i )
{
temp = a[i] ;
a[i] = a[small] ;
a[small] = temp ;
}
}
}
int main()
{
int i ;
int a[10] = { 5 , 3 , 7 , 2 , 8 , 12 , 9 , 1 , 4 , 19 };
selectsort( a , 10 ) ;
for( i = 0 ; i < 10 ; i ++ )
printf("%d\t",a[i]);
putchar('\n');
return 0 ;
}
void selectsort( int a[] , int n )
{
int i , j , small , temp ;
for( i = 0 ; i < n-1 ; i ++ )
{
small = i ;
for( j = i + 1 ; j < n ; j ++ )
if( a[j] < a[small] ) small = j ;
if( small != i )
{
temp = a[i] ;
a[i] = a[small] ;
a[small] = temp ;
}
}
}
int main()
{
int i ;
int a[10] = { 5 , 3 , 7 , 2 , 8 , 12 , 9 , 1 , 4 , 19 };
selectsort( a , 10 ) ;
for( i = 0 ; i < 10 ; i ++ )
printf("%d\t",a[i]);
putchar('\n');
return 0 ;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-11-20
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a[10],i,j,k,t;
for (i=0;i<10;i++) scanf("%d",&a[i]);
for (i=0;i<9;++i){
k=i;
for (j=i+1;j<10;++j)
if(a[k]>a[j]) k=j;
if (k!=i){
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for (i=0;i<10;++i) printf("%d\t",a[i]);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
int a[10],i,j,k,t;
for (i=0;i<10;i++) scanf("%d",&a[i]);
for (i=0;i<9;++i){
k=i;
for (j=i+1;j<10;++j)
if(a[k]>a[j]) k=j;
if (k!=i){
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for (i=0;i<10;++i) printf("%d\t",a[i]);
return 0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main(void)
{int p,num[10],i,j,q=0,t;
for (i=0;i<=9;i++)
scanf ("%d",&num[i]);
for (i=0;i<=9;i++)
for (j=i;j<=9;j++)
if (num[i]>q)
{t=j;
q=num[i];
}
p=num[i];
num[i]=q;
num[t]=p;
q=0;
}
for (i=0;i<=9;i++)
printf("%d",num[i]);
while (1);
}
int main(void)
{int p,num[10],i,j,q=0,t;
for (i=0;i<=9;i++)
scanf ("%d",&num[i]);
for (i=0;i<=9;i++)
for (j=i;j<=9;j++)
if (num[i]>q)
{t=j;
q=num[i];
}
p=num[i];
num[i]=q;
num[t]=p;
q=0;
}
for (i=0;i<=9;i++)
printf("%d",num[i]);
while (1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询