#include <stdio.h>
#include <string.h>
typedef unsigned int uint32_t ;
typedef unsigned short uint16_t ;
typedef unsigned char uint8_t ;
/*万能打印*/
void G_printf(void* A,uint8_t len)
{
for(int i=0;i<len;i++)
printf("%d ",*( (unsigned char*)A+i ) );
printf("\n");
}
void swap_uint8_t(uint8_t *A,uint8_t *B)
{
printf("INPUT %d --- %d \n",*A,*B);
#if 0
uint8_t C=*A;
*A=*B;
*B=C;
#else
*A=*A^*B;
*B=*A^*B;
*A=*A^*B;
#endif
printf("OUTPUT %d --- %d \n",*A,*B);
}
/*按照从小到大的方式排序*/
/*冒泡排序*/
void Sort_MaoPao(uint8_t *a,uint8_t len)
{
uint8_t i=0,j=0;
for(i=0;i<len;i++)
for(j=i+1;j<len;j++)
if(a[i]>a[j])
swap_uint8_t(&a[i],&a[j]);
/*Everytime MIN FIRST每次操作MIN置前*/
}
int main(void)
{
uint8_t ARR[20]={1,2,3,4,5,6,17,8,9,10,11,11};
G_printf(ARR,20);
Sort_MaoPao(ARR,20);
G_printf(ARR,20);
return 1;
}
void swap_uint8_t(uint8_t *A,uint8_t *B)
{
*A=*A^*B;
*B=*A^*B;
*A=*A^*B;
}
/*按照从小到大的方式排序*/
void Sort_MaoPao(uint8_t *a,uint8_t len)
{
uint8_t i=0,j=0;
for(i=0;i<len;i++)
for(j=i+1;j<len;j++)
if(a[i]>a[j])
swap_uint8_t(&a[i],&a[j]);
/*Everytime MIN FIRST每次操作MIN置前*/
}