<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                #數組 --- ``` /** * 普通數組的Java代碼 * @author dream * */ public class GeneralArray { private int[] a; private int size; //數組的大小 private int nElem; //數組中有多少項 public GeneralArray(int max){ this.a = new int[max]; this.size = max; this.nElem = 0; } public boolean find(int searchNum){ //查找某個值 int j; for(j = 0; j < nElem; j++){ if(a[j] == searchNum){ break; } } if(j == nElem){ return false; }else { return true; } } public boolean insert(int value){ //插入某個值 if(nElem == size){ System.out.println("數組已滿"); return false; } a[nElem] = value; nElem++; return true; } public boolean delete(int value){ //刪除某個值 int j; for(j = 0; j < nElem; j++){ if(a[j] == value){ break; } } if(j == nElem){ return false; } if(nElem == size){ for(int k = j; k < nElem - 1; k++){ a[k] = a[k+1]; } }else { for(int k = j; k < nElem; k++){ a[k] = a[k+1]; } } nElem--; return true; } public void display(){ //打印整個數組 for(int i = 0; i < nElem; i++){ System.out.println(a[i] + " "); } System.out.println(""); } } ``` ``` /** * 有序數組的Java代碼 * @author dream * */ /** * 對于數組這種數據結構, * 線性查找的話,時間復雜度為O(N), * 二分查找的話時間為O(longN), * 無序數組插入的時間復雜度為O(1), * 有序數組插入的時間復雜度為O(N), * 刪除操作的時間復雜度均為O(N)。 * @author dream * */ public class OrderedArray { private long[] a; private int size; //數組的大小 private int nElem; //數組中有多少項 public OrderedArray(int max){ //初始化數組 this.a = new long[max]; this.size = max; this.nElem = 0; } public int size(){ //返回數組實際有多少值 return this.nElem; } /** * 二分查找 * @param searchNum * @return */ public int find(long searchNum){ int lower = 0; int upper = nElem - 1; int curr; while (true) { curr = (lower + upper) / 2; if(a[curr] == searchNum){ return curr; }else if(lower > upper){ return -1; }else { if(a[curr] < searchNum){ lower = curr + 1; }else { upper = curr - 1; } } } } public boolean insert(long value){ //插入某個值 if(nElem == size){ System.out.println("數組已滿!"); return false; } int j; for(j = 0; j < nElem; j++){ if(a[j] > value){ break; } } for(int k = nElem; k > j; k++){ a[k] = a[k-1]; } a[j] = value; nElem++; return true; } public boolean delete(long value){ //刪除某個值 int j = find(value); if(j == -1){ System.out.println("沒有該元素!"); return false; } if(nElem == size){ for(int k = j; k < nElem - 1; k++){ a[k] = a[k+1]; } a[nElem-1] = 0; }else { for(int k = j; k < nElem; k++){ a[k] = a[k+1]; } } nElem--; return true; } public void display(){ //打印整個數組 for(int i = 0; i < nElem; i++){ System.out.println(a[i] + " "); } System.out.println(""); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看