博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分查找
阅读量:2206 次
发布时间:2019-05-04

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

1 package com.wh.ObjectHomeWork; 2  3 import java.util.Arrays; 4  5 public class CharArray { 6     private char[] words; 7  8     public CharArray(char[] words) { // 构造方法 9         this.words = words;10     }11 12     public void sort() { // 对数组进行冒泡排序13         for (int i = 0; i < words.length - 1; i++) {14             for (int j = 0; j < words.length - 1 - i; j++) {15                 if (words[j] > words[j + 1]) {16                     char t = words[j];17                     words[j] = words[j + 1];18                     words[j + 1] = t;19                 }20             }21         }22     }23 24     public int search(char key){25         int start=0,ends=words.length-1;26         int middle;27         int index=0;28         for(;;){29             middle=(ends+start)/2+(ends+start)%2;30             if(words[middle]==key){31                 index=middle;32                 break;33             }else if(key
=words[start]){34 ends=middle;35 }else if(key>words[middle]&&key<=words[ends]){36 start=middle;37 }else{38 index=-1;39 break;40 }41 System.out.print(index+",");42 } 43 return index;44 }45 46 public static void main(String[] args) {47 char[] arr = "qwertyuiopasdfghjklzxcvbnm".toCharArray();48 CharArray c1 = new CharArray(arr);49 System.out.println("排序前:" + Arrays.toString(arr));50 c1.sort();51 System.out.println("排序后:" + Arrays.toString(arr));52 char num=150;53 int index=c1.search(num);54 System.out.println(index);55 }56 }
1 排序前:[q, w, e, r, t, y, u, i, o, p, a, s, d, f, g, h, j, k, l, z, x, c, v, b, n, m]2 排序后:[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]3 -1

 

转载于:https://www.cnblogs.com/1020182600HENG/p/5886140.html

你可能感兴趣的文章
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>
逆序对的数量(递归+归并思想)
查看>>
数的范围(二分查找上下界)
查看>>
算法导论阅读顺序
查看>>
Windows程序设计:直线绘制
查看>>
linux之CentOS下文件解压方式
查看>>
Django字段的创建并连接MYSQL
查看>>
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>