冒泡排序,选择排序的理解及代码实…
2017-04-06 10:04
344 查看
冒泡排序大数下沉1)比较相邻的元素。如果第一个比第二个大,就交换他们两个。2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应 该会是最大的数。3)针对所有的元素重复以上的步骤,除了最后一个。4)持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。for
(int i=0; i1; i++){每趟排序都会确定一个数,所以需要再循环len-i次,但因为每次都是 //相邻的两个数进行比较,为了a[j+1]不越界,让j循环到len-i-1时停止。
for (int j=0; j
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
选择排序思想外层 len-1 里层
j=i+1 j每一趟都是拿着一个元素与后面其他元素进行比较,找出最小值 void selectSort(int array[],int
len){1、确定需排序趟数for (int i = 0 ; i < len - 1; i++){ // 2、每一趟怎么处理
for (int j = i + 1; j < len; j++) {
if (array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
} }}}int arr[] = {..........};选择排序代码实现:
(int i=0; i1; i++){每趟排序都会确定一个数,所以需要再循环len-i次,但因为每次都是 //相邻的两个数进行比较,为了a[j+1]不越界,让j循环到len-i-1时停止。
for (int j=0; j
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
选择排序思想外层 len-1 里层
j=i+1 j每一趟都是拿着一个元素与后面其他元素进行比较,找出最小值 void selectSort(int array[],int
len){1、确定需排序趟数for (int i = 0 ; i < len - 1; i++){ // 2、每一趟怎么处理
for (int j = i + 1; j < len; j++) {
if (array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
} }}}int arr[] = {..........};选择排序代码实现:
void
select_sort(
int
*a,
int
n)
{
register
int
i,j,min,t;
for
(i=0;i
{
min=i;
//查找最小值
for
(j=i+1;j
if
(a[min]>a[j])
min=j;
//交换
if
(min!=i)
{
t=a[min];
a[min]=a[i];
a[i]=t;
}
}
}
冒泡排序代码实现:
#include
#define SIZE 8
void
bubble_sort(
int
a[],
int
n);
void
bubble_sort(
int
a[],
int
n)
{
int
i, j, temp;
for
(j = 0; j < n - 1; j++)
for
(i = 0; i < n - 1 - j; i++)
{
if
(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
}
int
main()
{
int
number[SIZE] = {95, 45, 15, 78, 84, 51, 24, 12};
int
i;
bubble_sort(number, SIZE);
for
(i = 0; i < SIZE; i++)
{
printf
(
"%d"
, number[i]);
}
printf
(
"\n"
);
相关文章推荐
- 结合舞蹈更易理解的算法--选择排序算法[java代码]
- Python选择排序、冒泡排序、合并排序代码实例
- 1.数组--最大值 2.数组--选择排序与图解 3.数组--冒泡排序图解 4.数组--1.自带排序2.遍历功能方便 5.数组-常见操作-排序位置置换代码提取
- 一直分不清选择排序和冒泡排序,网上也好多都是模棱两可的,按自己的理解,总结了个小demo以作记录,希望批评指正
- 冒泡排序,选择排序,折半查找代码小解
- JavaScript 冒泡排序和选择排序的实现代码
- 个人对于冒泡排序和选择排序的理解
- java实现数组的冒泡排序、选择排序代码
- 【Java】数组的冒泡排序和选择排序(原理+代码实现)
- 黑马程序员_冒泡排序与选择排序代码体现
- 冒泡排序,选择排序的的代码实现
- 黑马程序员---冒泡排序和选择排序的理解
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序的C++代码实现
- 基础排序——冒泡排序、选择排序、插入排序的讲解、代码实现
- 看数据结构写代码(2) 选择排序 和 冒泡排序 算法优化
- C语言实现选择排序、冒泡排序和快速排序的代码示例
- 冒泡排序和选择排序代码
- 冒泡排序,选择排序,快速排序的代码
- Java中的选择排序和冒泡排序思想及代码实现
- 冒泡排序和选择排序二分查找代码实现