-
普通排序
#include <stdio.h> #include <string.h> int main() { char num[14]={8,8,22,11,33,27,19,43,40,11,42,35,21,14}; char temporary; int i,j; char len=strlen(num);/***使用strlen函数要避免‘0’字符***/ //printf("数据长度=%d\n",len); for(i=0 ;i<=len;i++) { //max=num[i]; for(j=i+1;j<=len;j++) { if(num[i]>num[j]) { temporary=num[i]; num[i]=num[j]; num[j]=temporary; } } printf("%d\n",num[i]); } return 0; }
-
选择排序
#include <stdio.h> #include <string.h> int main() { char num[15]={8,8,22,11,33,27,19,43,40,11,42,35,21,14}; char temporary,min,Tem; int i,j; char len=strlen(num); printf("%d\n",len);//字符长度 for(i=0 ;i<len;i++) { min=num[i]; for(j=i+1;j<len;j++) { if(min>num[j]) { min=num[j]; Tem=j; } } printf("%d\n",min); temporary=num[i]; num[i]=min; num[Tem]=temporary; } return 0; }
-
冒泡排序
#include <stdio.h> int main() { char num[]={23,1,4,45,6,8,2,78,0,80,99}; char length=sizeof(num); char i,j,temporary; //printf("%d\n",length);//字符长度 for(i=0;i<length;i++) { for(j=0;j<length-1;j++) { if(num[j]>num[j+1]) { temporary=num[j+1]; num[j+1]=num[j]; num[j]=temporary; } } } for(i=0;i<length;i++) { printf("%d\n",num[i]); } return 0; }
-
插入排序
#include <stdio.h> int main() { char num[]={2,66,11,34,0,3,6,88,1}; char length=sizeof(num);//字符长度 char i,j,temporary; for(i=0;i<length-1;i++) { if(num[i+1]<num[i]) { for(j=i+1;j>0;j--) { if(num[j]<num[j-1]) { temporary=num[j]; num[j]=num[j-1]; num[j-1]=temporary; } } } } for(i=0;i<length;i++) { printf("%d\n",num[i]); } return 0; }
🌋 参考资料: