計(jì)算機(jī)C語言示例,冒泡排序
/********開始************************/
void?sort_s_b(int?*a,int?len)???//升序排列,a為數(shù)組變量名
{
????int?i,j,t;
? ? for?(i=0;i<len-1;i++)
????{
????????for?(j=0;j<len-1-i;j++)
????????{
????????????if?(a[j]>a[j+1])????//升序,如果是if?(a[j]<a[j+1])?則為降序
????????????{
????????????????t=a[j];
????????????????a[j]=a[j+1];
????????????????a[j+1]=t;
????????????}??
????????}?????
????}
}
/********結(jié)束************************/
/********開始************************/
void?sort_b_s(int?*a,int?len)???//降序排列
{
????int?i,j,t;
????for?(i=0;i<len-1;i++)
????{
????????for?(j=0;j<len-1-i;j++)
????????{
????????????if?(a[j]<a[j+1])
????????????{
????????????????t=a[j];
????????????????a[j]=a[j+1];
????????????????a[j+1]=t;
????????????}??
????????}?????
????}
}
/********結(jié)束************************/
/********開始************************/
void?print(int?*a,int?len)??//驗(yàn)證結(jié)果,輸出a[0]到a[15]
{
? ? for(;len>0;len--)
? ? {
? ? ? ? printf("%d\r\n",*a++);
? ? }
}
/********結(jié)束************************/
/********開始************************/
?int?main(void)
?{
????int?a[16]=
????????????{12,54,23,67,54,78,98,543,456,3356,245,577,874,2456,545,2};
????int?len=(sizeof(a))/(sizeof(int));?????//計(jì)算元素個(gè)數(shù)
????printf("Sizeof?int:%d\r\n",?sizeof(int));
????printf("Sizeof?a[16]:%d\r\n",?sizeof(a));? ?
????sort_s_b(a,len);????//升序
????print(a,len);???????//打印結(jié)果? ??
????sort_b_s(a,len);????//降序
????print(a,len);???????//打印結(jié)果
?}
?/********結(jié)束************************/
