排序之冒泡排序,选择排序

来源:互联网 发布:旅行商问题和背包算法 编辑:程序博客网 时间:2024/06/05 07:57

冒泡排序


void bubble_sort(int n)
{
int i,j,temp;
for(i = 0; i < n - 1; i++)
for(j = 0; j < n - 1 - i; j++)
{
if(a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}


冒泡排序比较简单,主要是一遍又一遍的走过数字,只要两个元素顺序不对,就把他们交换过来,一直到不能交换。


选择排序

void select_sort(int n)
{
int i,j,k,temp;
for(i = 0; i < n; i++)
{
k = i;
for(j = i + 1; j < n; j++)
{
if(a[j] < a[k])
{
k = j;
}
}


if(k != i)
{
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}

选择排序每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。这种排序方法相对也比较简单。

原创粉丝点击