c语言中排序的实现方法有好几种.可以到百渡上去搜,会有不少答案的.给你提供几个.希望对你有帮助.

这是冒泡法的程序:

#include

void sort(int array[],int size)

{

int i,j,temp;

/*下面是利用相邻的比较,把大的数放到上面;*/

for(i=0;i

for(j=i+1;j

if(array[i]>array[j])

{

temp=array[i];

array[i]=array[j];

array[j]=temp;

}

}

void main()

{

int i;

int a[10]={1,33,78,34,787,213,132,35,32,21};

sort(a,10);

for(i=0;i<10;i++)

printf("%6d",a[i]);

}

这是选择法的程序:

#include

void sort(int array[],int size)

{

int i,j,k,temp;

for(i=0;i

{

k=i;

/*把最小的那一个数找出来,并且用a[k]记下来,然后与a[i]交换;*/

for(j=i+1;j

if(array[k]>array[j])

k=j;

temp=array[k];

array[k]=array[i];

array[i]=temp;

}

}

void main()

{

int a[]={12,43,54,23,32,65,87,2,34,54};

int i;

sort(a,10);

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

这是一个快速排序的程序:

#include

void quick_sort(int array[],int first,int last)//first,last分别为数组下标的范围;

{

int temp,low,high,list_separator;

low=first;

high=last;

/*下面是比较数组中的大小,把数组中的数与中间数比较,大的放在后半部分,比中间数小的放在前半部分,*/

list_separator=array[(first+last)/2];//中间数;

do{

while(array[low]

low++;

while(array[high]>list_separator)// 中间数与后半部分比较;

high--;

if(low<=high)//前半部分与后半部分交换;

{

temp=array[low];

array[low++]=array[high];

array[high--]=temp;

}

}while(low<=high);

if(first

quick_sort(array,first,high);//利用递归的办法,实行循环;

if(low

quick_sort(array,low,last);//利用递归的办法,实行循环;

}

void main()

{

int a[9]={12,23,34,65,93,32,21,9,8};

quick_sort(a,0,8);

for(int i=0;i<9;i++)

printf("%d ",a[i]);

printf(" ");

}

这是一个希尔排序的程序:

#include

void shell_sort(int array[],int size)

{

int temp,gap,i,flag;

gap=size/2;

do{

do{

flag=0;/*利用标记,使前半部分与后半部分的数都对应比较过,前半部分大于后半部分的交换,直到都比较过,并且前半部分的数小于与前部分一一对应的后部分的数时,退出while循环*/

for(i=0;i

if(array[i]>array[i+gap])

{

temp=array[i];

array[i]=array[i+gap];

array[i+gap]=temp;

flag=1;

}

}while(flag);

}while(gap=gap/2);

}

void main()

{

int array[]={1,2,32,43,64,7654,321,42,23,97,56,32,78,45,32},i;

shell_sort(array,15);

for(i=0;i<15;i++)

printf("%10d",array[i]);

}

欢迎来到我的博客:http://blog..cn/noisunyuhong

C语言编程实现一个数组的全排列,1、定义一个数组,编程打印它的全排列。(应用递归)2.删除文件函数...相关推荐

  1. 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息

    2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...

  2. 阶段1 语言基础+高级_1-2 -面向对象和封装_18定义一个标准的类

    做一个综合的练习 如何定义一个标准的学生类 向下选择getter和setter 选中这两个 这样就自动出现了get和set的方法 生成构造方法 无参的 运行测试 全参的方式 set修改年龄 转载于:h ...

  3. java语言中修饰一个常量_接口中定义一个常量所用的修饰符有: (5.0分)_学小易找答案...

    [判断题]Java中的接口不允许被继承 (5.0分) [单选题]下列程序的输出结果是( ) public class Ex_36{ public static void main(String arg ...

  4. ACMNO.35 C语言-宏润年 给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y)

    题目描述: 给年份year,定义一个宏,以判别该年份是否闰年. 提示:宏名可以定义为LEAP_YEAR,形参为y, 既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串) 输 ...

  5. MATLAB中定义数组序列,matlab怎么定义一个数组

    A=[]; n=input('n=');%数组的长度 for i=1:n fprintf('a%.0f=',i); x=input('');%分别输入各个数的值 A=[A,x]; end A 就可以得 ...

  6. c语言存放学生信息的结构体类型,定义一个学生结构体类型

    满意答案 zergling333 推荐于 2018.02.25 采纳率:56%    等级:12 已帮助:6763人 定义一个结构体类型: struct student {int num; char ...

  7. java定义对象数组初始化_怎么定义对象数组 JAVA中怎么初始化对象数组?

    java类怎样定义数组对象数组 在c++编程中,怎么定义对象数组的指针? JAVA中怎么初始化对象数组? java中怎么创建对象数组?比如我创建了一个学生类Sclass Student{ } 类中怎么 ...

  8. matlab定义多维数组长度,matlab如何定义三维数组

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab如何定义三维数组?回答:好象直接使用就可以了,第一次出现就包含了定义顺便把些命令弄给你看下matlab命令matlabn ...

  9. php 返回一个空对象,PHP如何定义一个空对象

    使用新数组我这样做: $aVal = array(); $aVal[key1][var1] = "something"; $aVal[key1][var2] = "som ...

最新文章

  1. 高阶程序员之路-轻松学习分布式锁
  2. 技术是最求 买卖是境界
  3. unity2019,打包APK时的gradle错误问题
  4. 第二章 选择符和属性
  5. Python -- 三元表达式(三目运算符)
  6. 热血江湖最新服务器,《热血江湖》2020年6月2日部分服务器数据互通公告
  7. java 外卖订餐系统_java外卖订餐系统小项目
  8. 网络运维超融合服务器,15. 通过 Openfiler 软件:配置 ISCSI 和
  9. EPS数据导入CASS中
  10. html手机页面怎么保存图片,【答疑】你知道手机怎么保存网页长图吗?超简单!...
  11. 余弦 matlab 幅度谱,数字图像处理_旋转与幅度谱(含MATLAB代码)
  12. 直通车推广技巧、店铺人群标签怎么做?猜你喜欢入池检测
  13. 初学前端网站建立流程
  14. 星际争霸新手战术指南点滴
  15. 《Python机器学习基础教程》官方中文PDF+英文PDF+源代码 (张亮译)
  16. [Elasticsearch] 邻近匹配 (一) - 短语匹配以及slop参数
  17. (一)OSG初学者入门基础教程
  18. 从高通手动搜网代码流程看sd脚本的执行
  19. 网盘限速怎么办? 小编来支招!
  20. 使用webgl绘制一个点

热门文章

  1. 文本深度表示模型—word2vecdoc2vec词向量模型
  2. Linux--日志分析查看——grep,sed,sort,awk运用
  3. switch case用法详解
  4. php如何引入jquery文件路径问题,php引入文件_PHP 自动引入一个目录的所有 PHP 文件...
  5. 2012自学CCNP路由与交换之三网络设备造型及验收
  6. HBASE一些简单的查询语句
  7. Redis延时双删实现mysql和redis的数据一致性
  8. x86_64与ARM64的signaling NaN与Quiet NaN,以及浮点数的舍入模式
  9. 【海思篇】【Hi3516DV300】十八、TSENSOR 芯片温度检测驱动 开发
  10. 服务器常说的U是什么意思?