数据结构
#include <stdio.h>
#include <Windows.h>
void bubble1(int *arr,int length);
void bubble2(int * arr,int length);
void main()
{
int i;
int length;
int arr[]={44,3,38,5,47,15,36,26,27,2,46,4,19,50,48};
int arr1[]={44,3,38,5,47,15,36,26,27,2,46,4,19,50,48};
length=sizeof(arr)/sizeof(arr[0]);
bubble1(arr,length);
printf("数组长度为:\n");
printf("%d \n",length);
for(i=0;i<length;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
printf("排序完成\n");
printf("打印排序前数组\n");
for(i=0;i<length;i++)
{
printf("%d ",arr1[i]);
}
printf("\n");
printf("打印数组长度 : %d\n",sizeof(arr1)/sizeof(int));
bubble2(arr1,length);
printf("打印排序完成的数组\n");
for(i=0;i<length;i++)
{
printf("%d ",arr1[i]);
}
printf("\n");
system("pause");
}
void bubble1(int *arr,int length)
{
int i;
int j;
int tem;
if(length<2) return;
for(i=length-1;i>0;i--)
{
for(j=0;j<i;j++)
{
if(arr[j]<arr[j+1])
{
tem=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tem;
}
}
}
}
void bubble2(int * arr,int length)
{
int i;
int tem;
if(length<2){printf("数组长度小于2,不需要排序"); return ;}
for(i=0;i<length-1;i++)
{
if(arr[i]<arr[i+1])
{
tem=arr[i];
arr[i]=arr[i+1];
arr[i+1]=tem;
}
}
bubble2(arr,length-1);
}
|