简单排序
#include <stdio.h>
#define N 5
int main(int argc, const char *argv[])
{
int a[N] = {2,6,3,4,5};
int i,j,sign;
for(i=0; i<N-1; i++)
{
sign = i;
for(j=i+1; j<N; j++)
{
if(a[sign] < a[j])
{
sign = j;
}
}
if(sign != i)
{
a[sign] ^= a[i];
a[i] ^= a[sign];
a[sign] ^= a[i];
}
}
for(i=0; i<N; i++)
{
printf("a[%d] = %d\n",i,a[i]);
}
return 0;
}
冒泡排序
#include <stdio.h>
#define N 5
int main(int argc, const char *argv[])
{
int a[N] = {0,1,2,4,3};
int i,j;
for(i=0; i<N-1; i++) {
for(j=0; j<N-1-i; j++) {
if(a[j] < a[j+1])
{
a[j] ^= a[j+1];
a[j+1] ^= a[j];
a[j] ^= a[j+1];
}
}
}
for(i=0; i<N; i++)
{
printf("a[%d] = %d\n",i,a[i]);
}
return 0;
}