如题所述
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int n,i;
int *p;
int h;
void select_sort(int*a,int n);
printf("è¾å ¥æ°ç»ä¸å ç´ ä¸ªæ° ");
scanf("%d",&n);
p=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(h=0;h<n;h++)
printf("%d ",p[h]);
printf("\n");
select_sort(p, n);
for(h=0;h<n;h++)
printf("%d ",p[h]);
return 0;
}
void select_sort(int*a,int n)
{
register int i,j,min,t;
for(i=0;i<n-1;i++)
{
min=i;//æ¥æ¾æå°å¼
for(j=i+1;j<n;j++)
if(a[min]>a[j])
min=j;//交æ¢
if(min!=i)
{
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
}
#include<stdlib.h>
int main ()
{
int n,i;
int *p;
int h;
void select_sort(int*a,int n);
printf("è¾å ¥æ°ç»ä¸å ç´ ä¸ªæ° ");
scanf("%d",&n);
p=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(h=0;h<n;h++)
printf("%d ",p[h]);
printf("\n");
select_sort(p, n);
for(h=0;h<n;h++)
printf("%d ",p[h]);
return 0;
}
void select_sort(int*a,int n)
{
register int i,j,min,t;
for(i=0;i<n-1;i++)
{
min=i;//æ¥æ¾æå°å¼
for(j=i+1;j<n;j++)
if(a[min]>a[j])
min=j;//交æ¢
if(min!=i)
{
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-10-19
#include <stdio.h>
#include <stdlib.h>
void InsertSort(int R[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
R[0]=R[i];
j=i-1;
while(j>=1&&R[0]<R[j])
{
R[j+1]=R[j];
j--;
}
R[j+1]=R[0];
}
}
int main()
{
int a[]={-999,2,3,1,5,4,6,14,19,12,122};
int i,m=11;
InsertSort(a,m);
for(i=1;i<=11;i++)
printf("%d ",a[i]);
return 0;
}
#include <stdlib.h>
void InsertSort(int R[],int n)
{
int i,j;
for(i=2;i<=n;i++)
{
R[0]=R[i];
j=i-1;
while(j>=1&&R[0]<R[j])
{
R[j+1]=R[j];
j--;
}
R[j+1]=R[0];
}
}
int main()
{
int a[]={-999,2,3,1,5,4,6,14,19,12,122};
int i,m=11;
InsertSort(a,m);
for(i=1;i<=11;i++)
printf("%d ",a[i]);
return 0;
}