日期: 2022-09-21 05:44:58 浏览数:5

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
高端!网站定制/设计/优化/二次开发/制作/搭建-山南高端网站建设

. 希尔排序缩小递增量必须是要互质的。
2. 快速排序可以不用交换中间值。
以下代码仅供参考:
void Array_Map_Sort_Quickly_Extrem(int* Array, int start, int end)
{
int i=start;
int j=end;
int Pivot = Array[end];
if(start<end)
{
while(i<j)
{
while(i<j &&Array[i]<=Pivot) i++;//Note: i choose the end as parameter
Array[j]=Array[i];
while(i<j &&Array[j]>=Pivot) j--;
Array[i]=Array[j];
}
Array[i]= Pivot;
}
else
return;
Array_Map_Sort_Quickly_Extrem(Array,start,i-1);
Array_Map_Sort_Quickly_Extrem(Array,i+1,end);
}
唐瓷
唐瓷
mrz***gtao@gmail.com
4年前 (2018-12-20)
学神之女
dff***j@qq.com
53
有种排序叫做猴子排序(Bogo Monkey):
1、检查是否排好
2、打乱
3、检查是否排好
4、打乱
5、……
如果数据稍多的话,几乎是不可能排序好的。
排序代码:
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>
void swap(int* x, int* y){
//交换
int temporary = *x;
*x = *y;
*y = temporary;
}
void randomize(int arr[], int length){
//打乱数组
for(int i = 0; i < length; i++){
srand(time(NULL)+i);//引入i增加随机性
if(rand()%2) swap(&arr[i],&arr[i+1]);
}
//printf("!");//记录打乱次数
}
bool isSorted(int arr[], int length){
for(int i = 0; i < length; i++) if(arr[i]>=arr[i+1]) return false;
return true;
}
void bogoSort(int array[], int length){
while(!isSorted(array,length)) randomize(array,length);
}
Demo:
#include <stdio.h>
int main(){
int numbers[] = {20,9,233,0,-23,7,1,666,4,345,63,45,2,45};
bogoSort(numbers,14);//也可以改成更小
for(int i = 0; i < 14; i++) printf("%d,",numbers[i]);
}
学神之女
学神之女
dff***j@qq.com
4年前 (2019-02-09)
varible
185***8481@QQ.com
62
冒泡排序是一种稳定的排序方式!
选择排序是一种不稳定的排序方式!
所谓稳定,就是指排完序后序列的各个元素的下标不会改变,如:冒泡排序
for (int i = 1;i <= n - 1;i ++)
for (int j = 1;j <= n - i;j ++)
if (a[j] > a[j + 1]) swap(a[j],a[j + 1]);
第零趟:2,3,2,1
第一趟:2 2 1 3
2:2 1 2 3
3: 1 2 2 3
排完之后,加粗的2还在前面。
所谓不稳定,恰恰相反,如:选择排序
for (int i = 1;i <= n - 1;i ++)
for (int j = i + 1;j <= n;j ++)
if (a[i] > a[j]) swap(a[i],a[j]);
第零趟:2 3 2 1
第一趟:1 3 2 2
第二趟:1 2 3 2
3:1 2 2 3
排完之后,加粗的2到后面去了。
稳定性非常重要!
varible
varible
185***8481@QQ.com
3年前 (2020-01-21)
高端!网站定制/设计/优化/二次开发/制作/搭建-山南高端网站建设
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)