#include <stdio.h>
int main()
{
int a[100], n, i, j, position, swap
printf("Enter number of elementsn")
scanf("%d", &n)
printf("Enter %d Numbersn", n)
for (i = 0i <ni++)
scanf("%d", &a[i])
for(i = 0i <n - 1i++)
{
position=i
for(j = i + 1j <nj++)
{
if(a[position] >a[j])
position=j
}
if(position != i)
{
swap=a[i]
a[i]=a[position]
a[position=swap
}
}
printf("Sorted Array:n")
for(i = 0i <ni++)
printf("%dn", a[i])
return 0
}
冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中。“冒泡”这个名字的由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。这里以从小到大排序为例进行讲解。基本思想及举例说明
冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移。经过一轮比较就,选出最大的数;经过第2轮比较,就选出次大的数,以此类推。下面以对 3 2 4 1 进行冒泡排序说明。
1.这个算法用rand函数产生新的要排序的数据,与已有的有序数列中的数据依次比较,如果遇到比他大的数据,就从该数据开始,一直交换到末尾,达到一个插入的效果。从而形成有序的数列。
2.此外,只用rand函数并不能达到真正随机的效果。如果要实现真正随机的效果,还要配合srand函数才行。
3.具体代码如下:#include "stdio.h"#include "stdlib.h"void main(){int a[10],temp,rprintf("请输入一个种子\n")scanf("%d",&r)srand(r)for(int i=0i<9i++) 。