当前位置:文档之家› Java冒泡排序代码

Java冒泡排序代码

#include
#include
void bubler(int *p,int n); //冒泡排序
void select(int *p,int n); //选择排序
void Sort(int* a,int n); //插入排序第一种方式
void Insert(int *p,int n); //插入排序第二种方式
void sw(int *a,int *b); //交换两个数
void Display(int *p,int n);//输出函数
int main()
{
int a[5]={4,5,2,1,7};
// bubler(a,5);
// Display(a,5);
// select(a,5);
// Display(a,5);
Sort(a,5);
Display(a,5);

}
void bubler(int *p,int n)
{
int i;
int j;
for(i=0;i{
for(j=1;j{
if(*(p+j)<*(p+j-1))
{
sw((p+j),(p+j-1));
}
}
}
}
void select(int *p,int n)
{
int i;
int j;
for(i=0;i{
for(j=i;j{
if(*(p+i)>*(p+j))
sw(p+i,p+j);
}
}
}
void Sort(int* a,int n)
{
int i;
for( i=1;i{
int temp = a[i];
int j=i;
while(j>=0 && temp < a[j-1])
{
a[j]=a[j-1];
j--;
}
a[j]=temp;

}
}
void Insert(int *p,int n)
{
int i,j,temp;
for (i = 1;i < n;i++)
{
temp = *(p+i);
for(j = i;j > 0;j--)
{
if (temp > *(p+j-1))
{
break;
}

else
{
*(p+j) =*(p+j-1);
}

}
*(p+j) = temp;
}
}
void sw(int *a,int *b)
{
int t;
t=*a;
*a=*b;
*b=t;
}
void Display(int *p,int n)
{
int i;
for(i=0;i{
printf("%-5d",*(p+i));
}
printf("\n");
}

相关主题
文本预览
相关文档 最新文档