C语言编程实现一个数组的全排列,1、定义一个数组,编程打印它的全排列。(应用递归)2.删除文件函数...
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.删除文件函数...相关推荐
- 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息
2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...
- 阶段1 语言基础+高级_1-2 -面向对象和封装_18定义一个标准的类
做一个综合的练习 如何定义一个标准的学生类 向下选择getter和setter 选中这两个 这样就自动出现了get和set的方法 生成构造方法 无参的 运行测试 全参的方式 set修改年龄 转载于:h ...
- java语言中修饰一个常量_接口中定义一个常量所用的修饰符有: (5.0分)_学小易找答案...
[判断题]Java中的接口不允许被继承 (5.0分) [单选题]下列程序的输出结果是( ) public class Ex_36{ public static void main(String arg ...
- ACMNO.35 C语言-宏润年 给年份year,定义一个宏,以判别该年份是否闰年。提示:宏名可以定义为LEAP_YEAR,形参为y,既定义宏的形式为 #define LEAP_YEAR(y)
题目描述: 给年份year,定义一个宏,以判别该年份是否闰年. 提示:宏名可以定义为LEAP_YEAR,形参为y, 既定义宏的形式为 #define LEAP_YEAR(y) (读者设计的字符串) 输 ...
- MATLAB中定义数组序列,matlab怎么定义一个数组
A=[]; n=input('n=');%数组的长度 for i=1:n fprintf('a%.0f=',i); x=input('');%分别输入各个数的值 A=[A,x]; end A 就可以得 ...
- c语言存放学生信息的结构体类型,定义一个学生结构体类型
满意答案 zergling333 推荐于 2018.02.25 采纳率:56% 等级:12 已帮助:6763人 定义一个结构体类型: struct student {int num; char ...
- java定义对象数组初始化_怎么定义对象数组 JAVA中怎么初始化对象数组?
java类怎样定义数组对象数组 在c++编程中,怎么定义对象数组的指针? JAVA中怎么初始化对象数组? java中怎么创建对象数组?比如我创建了一个学生类Sclass Student{ } 类中怎么 ...
- matlab定义多维数组长度,matlab如何定义三维数组
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab如何定义三维数组?回答:好象直接使用就可以了,第一次出现就包含了定义顺便把些命令弄给你看下matlab命令matlabn ...
- php 返回一个空对象,PHP如何定义一个空对象
使用新数组我这样做: $aVal = array(); $aVal[key1][var1] = "something"; $aVal[key1][var2] = "som ...
最新文章
- 高阶程序员之路-轻松学习分布式锁
- 技术是最求 买卖是境界
- unity2019,打包APK时的gradle错误问题
- 第二章 选择符和属性
- Python -- 三元表达式(三目运算符)
- 热血江湖最新服务器,《热血江湖》2020年6月2日部分服务器数据互通公告
- java 外卖订餐系统_java外卖订餐系统小项目
- 网络运维超融合服务器,15. 通过 Openfiler 软件:配置 ISCSI 和
- EPS数据导入CASS中
- html手机页面怎么保存图片,【答疑】你知道手机怎么保存网页长图吗?超简单!...
- 余弦 matlab 幅度谱,数字图像处理_旋转与幅度谱(含MATLAB代码)
- 直通车推广技巧、店铺人群标签怎么做?猜你喜欢入池检测
- 初学前端网站建立流程
- 星际争霸新手战术指南点滴
- 《Python机器学习基础教程》官方中文PDF+英文PDF+源代码 (张亮译)
- [Elasticsearch] 邻近匹配 (一) - 短语匹配以及slop参数
- (一)OSG初学者入门基础教程
- 从高通手动搜网代码流程看sd脚本的执行
- 网盘限速怎么办? 小编来支招!
- 使用webgl绘制一个点
热门文章
- 文本深度表示模型—word2vecdoc2vec词向量模型
- Linux--日志分析查看——grep,sed,sort,awk运用
- switch case用法详解
- php如何引入jquery文件路径问题,php引入文件_PHP 自动引入一个目录的所有 PHP 文件...
- 2012自学CCNP路由与交换之三网络设备造型及验收
- HBASE一些简单的查询语句
- Redis延时双删实现mysql和redis的数据一致性
- x86_64与ARM64的signaling NaN与Quiet NaN,以及浮点数的舍入模式
- 【海思篇】【Hi3516DV300】十八、TSENSOR 芯片温度检测驱动 开发
- 服务器常说的U是什么意思?