选择排序:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int a[7]={3,7,5,2,4,6,8};
int i;
int j;
int temp;
for(i=0;i<7;i++)
for(j=i+1;j<7;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<7;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
}
冒泡排序:
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int a[7]={3,7,5,2,4,6,8};
int i;
int j;
int temp;
for(i=0;i<7;i++)
{
for(j=0;j<7-i-1;j++)
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
for(i=0;i<7;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
}
主要在于循环的设置上,两个的循环都是两个嵌套,但是冒泡的是比较任意相邻的两个元素,但是选择排序是与第i个数据进行比较,然后交换。是两种比较简单的排序方法,但是时间复杂度O(n2),比较耗时间
时间: 2024-12-15 09:43:50