博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用排序
阅读量:6241 次
发布时间:2019-06-22

本文共 1651 字,大约阅读时间需要 5 分钟。

hot3.png

/**

 * 归并排序
 */
#include<stdio.h>
#include<stdlib.h>
void changesort(int * array, int lower, int hight, int mid);
void  megersort(int * array, int lower, int hight)
{
if( lower >= hight){
return;
}
int mid = ((hight-lower)/2)+lower;
megersort(array,lower, mid);
megersort(array,mid+1,hight);
changesort(array,lower,hight,mid);
}
void changesort(int * array, int lower, int hight, int mid)
{
int arraySize = (hight - lower)+1;
int left = lower, right = hight, center = mid+1;
int *tmp = (int *)calloc(sizeof(int), arraySize);
int i =0;
while( i < arraySize && lower <=mid &&  center<= hight)
{
if( array[lower] < array[center]){tmp[i] = array[lower]; i ++; lower ++; continue;}
tmp[i] = array[center]; i ++; center ++;
}
while(lower<= mid){ tmp[i] = array[lower]; i++; lower++;}
while(center <= hight){ tmp[i] = array[center]; i++; center++;}
i =0;
while(left <= right){  array[left] = tmp[i]; left ++;i++;}
free(tmp);
}
int main()
{
int array[] =  {8,5,0,10,8,9,4,2,1};
int size = sizeof(array)/sizeof(int);
printf("size is: %d\n",size);
megersort(array,0, size-1);
int i=0;
for(; i < size; i++)
{
printf("%d\t",array[i]);
}
printf("\n");
return 0;

}

  1 /**
  2  * 冒泡排序
  3  */
  4 #include<stdio.h>
  5 
  6 int main()
  7 {
  8         int a[]  = {2,4,62,567,78,12,23,3};
  9         int len = sizeof(a)/sizeof(int);
 10         int i=0, j=0, tmp=0 , isc=1;
 11 
 12         for (; i < len ; i++){
 13 
 14                 if(isc ==0) { continue; }
 15                 isc=0;
 16                 for(j=0; j < len-i-1; j++)
 17                 {
 18                         if(a[j] > a[j+1]){
 19                                 isc=1;
 20                                 tmp = a[j];
 21                                 a[j] = a[j+1];
 22                                 a[j+1] = tmp;
 23                         }
 24                 }
 25         }
 26 
 27         for(i=0; i < len; i++){printf("%d\t",a[i]);}
 28 
 29         printf("\n");
 30         return 1;
 31 
 32 }

转载于:https://my.oschina.net/u/1388024/blog/182743

你可能感兴趣的文章
功能(一):添加影像服务图层
查看>>
选择伊始
查看>>
PHP中继承
查看>>
总结各种容器特点
查看>>
SQL Server高级查询
查看>>
13-Flutter移动电商实战-ADBanner组件的编写
查看>>
ubuntu 16.04 启用root用户方法
查看>>
阿里巴巴矢量图标库
查看>>
南阳理工904
查看>>
1. Two Sum
查看>>
Tomcat学习总结(10)——Tomcat多实例冗余部署
查看>>
2017书单
查看>>
Redis学习总结(1)——Redis内存数据库详细教程
查看>>
python 生成器与迭代器
查看>>
VS2017 调试期间无法获取到变量值查看
查看>>
Java+SpringBoot实现四则运算
查看>>
【转载】Discriminative Learning和Generative Learning
查看>>
Git中的AutoCRLF与SafeCRLF换行符问题
查看>>
通过Process启动外部程序
查看>>
那些在django开发中遇到的坑
查看>>