首页 > 代码库 > 选择排序与冒泡排序的区别与联系

选择排序与冒泡排序的区别与联系

 

 

 
 
选择排序:
#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),比较耗时间

选择排序与冒泡排序的区别与联系