概念不多说,直接上代码:
//冒泡排序法
#include<stdio.h>
#include<stdlib.h>
//冒泡函数
void BubbleSort(int a[],int n)
{
int i,j,temp;
for(i=0;i<=n-2;i++)
{
for(j=0;j<=n-2-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
int main()
{
int i,a[10];
printf("请输入十个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
BubbleSort(a,10);
printf("排序后的十个数为:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
//Quicksort
void Quicksort(int* arr,int left,int right)
{
if(left>=right)
return;
int i=left;
int j=right;
int key=*(arr+i);
while(i<j)
{
while((i<j)&&key<=arr[j])
j--;
*(arr+i)=*(arr+j);
while((i<j)&&key>=arr[i])
i++;
*(arr+j)=*(arr+i);
}
*(arr+i)=key;
Quicksort(arr,left,i-1);
Quicksort(arr,i+1,right);
}
//print
void print(int* arr,int n)
{
for(int i=0;i<n;i++)
printf("%d ",*(arr+i));
printf("\n");
}
int main()
{
int n,a[50];
int *arr=a;
printf("请输入数组长度:");
scanf("%d",&n);
printf("数据录入中...\n");
for( int i=0;i<n;i++)
//scanf("%d",&a[i]);
scanf("%d",(arr+i));
Quicksort(arr,0,n-1);
printf("排序后数组为:\n");
print(arr,n);
system("pause");
return 0;
}
运行截图忘截了,不过代码均正确,验证过。