基础排序
2024-02-03 17:49:12
发布于:北京
1.排序
2.冒泡排序
3.选择排序
4.插入排序
5.桶排序
冒泡排序
冒泡排序(Bubble sort),相邻两数根据条件比较交换。
名称:三步交换法
简介:应用于各个类型数据
作用:三行代码交换2个变量中的数据
例题代码;
int t = a;
a = b;
b = t;
//冒泡排序模板(核心代码 数据存储范围1~n下标)
for(int i = 1;i<=n;i++){
for(int i = 1;i<=n-1;i++){
if(a[i]>a[i+1]){
swap(a[i],a[i+1]);
}
}
}
选择排序
在未排序的数列中,每次将其中最小数据与起始数据进行交换
(遇到相同的数时选择先者)
例题代码;
for(int i = 1;i<n;i++){
int k = i;
for(int j = i;j<=n;j++){
if(a[j]<a[k]){
k = j;
}
}
swap(a[i],a[k])
}
1.记录起始位置
2.找出未排序的最小值位置
3.最小值与起始位置
4.进行n-1趟排序
插入排序
往n个元素的有序列中,插入第n+1个元素。并使插入的新元素之后的序列,仍然保持有序。
for(int i = 2;i<= n;i++){
int x = a[i];
int j = i-1;
while(j>=1&&a[j] > x){
a[j+1] = a[j];
j--;
}
a[j +1] = x;
cout<<endl;
}
1.记录待插入的数据
2.找到比这个数字小的数字
3.插入到找到的数字后面
桶排序
桶排序法是一种基于计数的排序算法。它的基本思想是将要排序的数据分到几个有序的桶里,
每个桶里的数据再单独进行排序(基于数组下标进行排序)
桶排序
1.根据数据数量和范围,创建空桶
2.遍历元素,将元素分配到桶中
3.根据排序要求,输出桶中元素
排序稳定性
排序稳定性:排序前后没有改变相同数据的相对位置的排序
不排序稳定性:排序前后改变相同数据的相对位置的排序
这里空空如也
有帮助,赞一个