冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
#include<stdio.h>
int main()//冒泡排序
{
int arr[10] = { 9,8,-98,6,5,56,3,223,1,0 };
int a, b, c;
for (a = 0; a < 9; a++)
{
for (b = 0; b < 9 - a; b++)
{
if (arr[b] > arr[b + 1])
{
c = arr[b];
arr[b] = arr[b + 1];
arr[b + 1] = c;
}
}
}
for (a = 0; a < 10; a++)
{
printf("%d ", arr[a]);
}
}
选择排序是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。
#include <stdio.h>
int main()
{
int arr[10] = { -1,65,34,76,155,665,-54,0,64,76 };
int a, b, c, d;
for (a = 0; a < 9; a++)
{
c = a;
for (b = a + 1; b < 10; b++)
{
if (arr[b] < arr[c])
{
c = b;
}
}
d = arr[c];
arr[c] = arr[a];
arr[a] = d;
}
for (a = 0; a < 10; a++)
{
printf("%d ", arr[a]);
}
}