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[middle]&&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