关于冒泡法排序和选择排序(转帖)
来源:互联网 发布:java获取本地文件路径 编辑:程序博客网 时间:2024/05/22 18:55
一。排序算法思想:
采用2轮循环,外循环是有序后的元素遍历,内循环用于寻找最值。
假设最小元素在数组的第0个位置上,从数组的第一个元素开始遍历数组,找出最小的元素
分别和数组的第0个位置上的元素分别比较,如果该元素小于第0个元素,则交换该元素,
则交换后该元素就是有序的。说的通俗一点就是:每次选择剩余数据中的最值调整到有序
部分的后面去。
实现如下:
#include <iostream>
using namespace std;
void select_sort(int *,int);
int main()
{
int a[] = {12,3,4,56,7,8,9,45,11};
const int size = sizeof(a)/sizeof(a[0]);
select_sort(a,size);
for(int i = 0;i<size;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
void select_sort(int *arr,int num)
{
int i,j,temp;
for( i = 0;i<num;i++)
{
for( j= i+1;j<num;j++)
{
if(arr[i]>arr[j])
{
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
*/
/*
二。冒泡法排序算法思想:
程序采用2轮循环,外循环遍历要排序的元素,内循环用于挑选出最值。
内循环用于将相邻的两个元素进行比较,将小的元素调到大元素的前头。。
内循环的循环次数表示相邻元素的交换趟数。
实现如下:
#include <iostream>
using namespace std;
void bubble_sort(int *,int);
int main()
{
int a[] = {7,6,5,4,3,2,1};
const int size = sizeof(a)/sizeof/a[0];
bubble_sort(a,size);
for(int i=0;i<size;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}
void bubble_sort(int *a,int num)
{
int i,j,temp;
for(i = 0;i<num;i++)
{
for(j= 0;j<num-j;j++)
{
if(a[j]>a[j+1])
{
temp = a[j+1];
a[j+1] = a[j];
a[j] = temp;
}
}
}
}
*/
/*
两种排序算法总结:
一。都用了两轮循环,外循环均用于遍历要排序的元素。
二。内循环主要用于筛选最值,内循环实现的关键是循环初值的设定和循环条件的安排。
三。空间复杂度和时间复杂度???
*/
- 关于冒泡法排序和选择排序(转帖)
- 选择排序法和冒泡排序法
- 冒泡排序法和选择排序法
- 冒泡排序法和选择排序法
- 冒泡法排序和选择法排序
- 冒泡排序法和选择排序法
- 选择排序法和冒泡排序法
- 冒泡排序和选择法排序
- java冒泡排序和选择排序法
- Java:冒泡排序法 和 选择排序
- 关于排序(冒泡和选择)
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- 选择排序和冒泡排序
- 选择排序和冒泡排序
- 冒泡排序和选择排序
- oracle分页
- 日常资料获取网站
- 呀哈哈
- WinForm导出excel
- ACE与ASIO之间关于Socket编程的比较
- 关于冒泡法排序和选择排序(转帖)
- SVN 配置 之二 VisualSVN Server 及 Subversion
- C
- ARMLINK 的几个概念
- dd的使用
- 生成有序的GUID,以减少叶级别索引上的页争用
- 一步一步学Ext(二) grid组件
- About fromELF
- 生活方式简单,生活内涵丰富