- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.完成数组int[] a = {100,40, 60, 87, 34, 11, 56, 0}的快速排序、冒泡排序;
快速排序
实现代码:
public class Test001 {
public static void main(String[] args) {
int[] a = newint[]{100,40, 60, 87, 34, 11, 56, 0};
System.out.println(未排序之前的数据是:);
print(a);
System.out.println(排序之后的数据是:);
sort(a,0,a.length-1);
print(a);
}
//打印方法
public static void print(int[] b){
for(int i=0; ib.length; i++){
System.out.print(b[i]+ );
}
System.out.println();
}
//排序方法
static void sort(int[] a,int low,int high){
if(low = high) return;//low小于high,则直接返回
if((high - low)==1){//如果只有两个数字,则直接比较
if(a[0] a[1])
swap(a,0,1);
return;
}
int pivot = a[low];//取第一个数作为中间数
int left = low +1;
int right = high;
while(leftright){
//从左边开始找
while(left right left = high){//如果左小于右则一直循环
if(a[left] pivot)break;
left++;//左下标往右边走一点
}
//从右边开始找
while(left = right right low){//如果左大于右则一直循环
if(a[right] = pivot)
break;
right--;//右下标往左走一点
}
if(left right)//如果还没有找完,则交换数字
swap(a,right,left);
}
swap(a,low,right);
sort(a,low,right);
sort(a,right+1,high);
}
//调位方法
private static void swap(int[] array,int i, int j){
int temp;
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
} 打印结果为:
未排序之前的数据是:
100 40 60 87 34 11 56 0
排序之后的数据是:
0 11 34 40 56 60 87 100 冒泡排序
实现代码:
public class Test002 {
public static void main(String[] args) {
int[] arr = {100,40, 60, 87, 34, 11, 56, 0};//定义数组
System.out.println(未排序之前的数据是:);
maopaoPrint(arr);
System.out.println();
System.out.println(排序之后的数据是:);
maopaoSort(arr);
}
//排序方法
public static void maopaoSort(int[] arrys){
//定义临时变量temp
int temp = 0;
//用j表示下标,遍历数组
for(int j=0; jarrys.length; j++){
//对于每一个数组元素,从0到还未排序的最大下标,总是把最大的数字放在后边
for(int k=0; karrys.length-j-1; k++){
if(arrys[k]arrys[k+1]){//判断当前数字与后面数字的大小
temp = arrys[k];
arrys[k] = arrys[k+1];
arrys[k+1] = temp;
}
}
}
maopaoPrint(arrys);//打印输出
}
//打印方法
public static void maopaoPrint(int[] l){
for(int i=0; il.length; i++){
System.out.print(l[i]+ );//从小到大的输出
}
}
} 打印结果为:
未排序之前的数据是:
100 40 60 87 34 11 56 0
排序之后的数据是:
0 11 34 40 56 60 87 100 2.采用折半查找的算法,在数组中查询到某个数
您可能关注的文档
最近下载
- 免烧砖生产线项目可行性研究报告(参考模板).docx
- DB4104_T 156-2025 公建民营养老机构管理规范.pdf VIP
- 标准图集-拌和站标识标牌设置标准.pdf VIP
- 安置房装修工程预算方案(3篇).docx VIP
- DB65T3954-2016 反恐怖防范设置规范 加油、加气站.pdf VIP
- NB∕T10145-2019 水电工程竣工决算报告编制规定.pdf VIP
- 管工职业技能竞赛理论考试题库资料300题(含答案).pdf VIP
- 工程扫描归档合同模板.docx VIP
- 2023年河南事业单位公共基础知识真题及答案.docx VIP
- EMCIsilon存储方案.doc VIP
文档评论(0)