//冒泡排序
//c,c++中没有直接获取数组长度的函数,
//对于存放字符串提供了strlen函数获取长度
//在C语言中习惯上在 使用时都把它定义成一个宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 。而在C++中则可以使用模板 技术定义一个函数,比如:
//
//template <class T>
//int getArrayLen(T& array)
//{return (sizeof(array) / sizeof(array[0]));}
//P.S:若数组为存储 字符串的字符数组,则所求得的长度还需要减一
//在c++的函数里面,如果把一个数组作为参数传进去,那么这个数组就会退化为一个指针,因而就不知道这个数组的长度(这里的数组指的是静态的而不是new出来的).
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define N 10
int E[]={213,111,222,77,400,300,987,1024,632,555};
void sb_sort(int e[],int n)
{int i,j,t;
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(e[j]<e[i])//从小到大排序
{
t=e[j];
e[j]=e[i];
e[i]=t;
}
/*int j,p,h,t;
for(h=n-1;h>0;h=p)
{
for(p=j=0;j<h;j++)
if(e[j]>e[j+1])
{
t=e[j];
e[j]=e[j+1];
e[j+1]=t;
p=count2;
}
}*/
}
void main()
{
int i;
printf("冒泡排序 初始数据序列为:\n");
for(i=0;i<N;i++)
printf("%d ",E[i]);
printf("\n ");
sb_sort(E,N);
for(i=0;i<N;i++)
printf("%d ",E[i]);
}