首页 > 代码库 > C语言——选择排序
C语言——选择排序
---恢复内容开始---
算法思想:
#include<stdio.h>
#include<stdlib.h>
void swap(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
void selectsort(int a[],int n)
{
int mark=0;
int flag=0;
for(int i=0;i<n;i++)
{
int min=a[i];
for(int j=i+1;j<n;j++)
{
if(min>a[j])
{
mark=j;
min=a[j];
flag=1;
}
}
if(flag)
swap(&a[i],&a[mark]);
flag=0;
}
}
void main()
{
int n;
scanf("%d",&n);
int *a=malloc(sizeof(int)*n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
selectsort(a,n);
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
---恢复内容结束---
C语言——选择排序