下面的程序完成对长度为N的整型数组a进行从小到大的排序。请分别用选择排序法、冒泡排序法完成函数sort。
#include
#define N 10
void main()
{ int a[N],i;
printf("Input %d numbers:\n",N);
for(i=0;i<N;i++) /* 从键盘输入数组a的N个元素 /
scanf("%d",&a[i]);
sort(a,N); / 排序 */
printf("The sorted numbers:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
}
#include <stdio.h>
#define N 10
void sort(int *a,int N)
{
for (int i = 0; i < N - 1; i++)
{
int min = i;
for (int j = i + 1; j < N; j++) if (a[min] > a[j]) min = j;
int t = a[min]; a[min]=a[i];a[i] =t;
}
}
void main()
{ int a[N],i;
printf("Input %d numbers:\n",N);
for(i=0;i<N;i++) /* 从键盘输入数组a的N个元素 /
scanf("%d",&a[i]);
sort(a,N); / 排序 */
printf("The sorted numbers:\n");
for(i=0;i<N;i++)
printf("%4d ",a[i]);
}
https://blog.csdn.net/qq_40893012/article/details/103428573
https://blog.csdn.net/qq_40893012/article/details/103844451
void maopaosort(int a[], int num)
{
for(int i=0;i<num-1;i++)
{
bool flag=true;
for(int j=0;j<num-i-1;j++)
{
if(a[j]>a[j+1])
{
int tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
flag=false;
}
}
if(flag)
break;
}
}
void xuanzesort(int a[],int num)
{
for(int i=0;i<num-1;i++)
{
int min_pos=i;
for(int j=i+1;j<num;j++)
{
if(a[min_pos]>a[j])
{
min_pos=j;
}
}
if(min_pos!=i)
{
int tmp=a[i];
a[i]=a[min_pos];
a[min_pos]=tmp;
}
}
}