順序表掌握基本要求

2021-09-29 07:47:58 字數 2703 閱讀 2626

順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,

一般情況下採用陣列儲存。在陣列上完成資料的增刪查改。

順序表一般可以分為:

靜態順序表:使用定長陣列儲存。

動態順序表:使用動態開闢的陣列儲存。

靜態順序表適用於確定知道需要存多少資料的場景. 靜態順序表的定長陣列導致n定大了,空間開多了浪費,開少了不夠用.

相比之下動態順序表更靈活,根據需要動態的分配空間大小

一般來說乙個動態順序表會包含以下功能

class  myarraylist    

// 在 pos 位置新增元素 public void add(int pos, int data)

// 判定是否包含某個元素 public boolean contains(int tofind)

// 查詢某個元素對應的位置 public int search(int tofind)

// 獲取 pos 位置的元素 public int getpos(int pos)

// 給 pos 位置的元素設為 value public void setpos(int pos, int value)

// 刪除第一次出現的關鍵字key public void remove(int toremove)

// 獲取順序表長度 public int size()

// 清空順序表 public void clear()

}

就實現以上功能進行乙個練習

第一步,定義 myarraylist類的成員的屬性和方法

private int elem;

private int usedsize; //當前有效資料個數

private final int capacity = 10; //暫定最大容量

public myarraylist()

然後依次實現以上方法

1.列印順序表

public void display() 

system.out.println();

}

在 pos 位置新增元素

判斷輸入下標引數是否合法

表內是否還有空間

插入元素後需將該下標及其以後的元素後移乙個單位

public void add(int pos, int data) 

if(isfull())

//1、移動元素 從後往前移動

for (int i = this.usedsize - 1; i >= pos; i--)

//2、插入

this.elem[pos] = data;

this.usedsize++;

} private boolean isfull()

return false;*/

return this.usedsize == this.elem.length;

}

判定是否包含某個元素

public boolean contains(int tofind) 

}return false;

查詢某個元素,並返回對應的位置

public int search(int tofind) 

}return -1;

}

獲取 pos 位置的元素

public int getpos(int pos) 

return this.elem[pos];

}

給 pos 位置的元素設為 value

public void setpos(int pos, int value)
刪除第一次出現的關鍵字key

是否存在key值

若該值為最後乙個值時

刪除後key值後面的值往前移填補空位

public void remove(int toremove) 

if (index == this.usedsize - 1)

//2、從後往前進行賦值 i 小標的取值

for (int i = index; i < this.usedsize - 1; i++)

this.usedsize--;

}

獲取順序表長度

public int size()
清空順序表

public void clear()
這樣乙個順序表的雛形就算完成了,還可以在多擴充套件一些複雜的功能,比如刪除出現的所有key值,多個順序表之間的操作都可以拓展開來。

順序表和後面鍊錶學習時最好是配上圖,多動手畫一畫,弄清楚各個操作對錶的影響及操作完成後表的狀態,然後是多寫**,寫**時最好有乙個完整的框架,知道自己寫的東西在一整個類中起什麼作用,更多的是與其他功能之間的聯動,能否被呼叫,**適應性怎麼樣,而不是說這個功能能實現就好了。

正規化轉換的基本要求!重點掌握!

書上講了好多,歸結起來3句話 1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 不符合第一正規化的例子 關聯式資料庫...

重寫的基本要求

訪問控制許可權 下級的訪問控制許可權應該不低於上級的訪問控制許可權 上級 public 下級 只能public 上級 protected 下級 protected,public 上級 private 下級 private protected public 實際此情況無意義。私有的不能覆蓋,而是完全當...

防撞庫基本要求

專用安全要求 口令要求 設計要求說明 要求 是否滿足 密碼長度至少 8位字元,密碼複雜性要求至少包含以下4種類別中的2種 大寫字母 小寫字母 數字 特殊符號 必選滿足 系統應具備對口令強度檢測的能力,並對使用者進行提示 盡量不要以姓名 號碼以及出生日期等作為密碼或者密碼的組成部分 且不允許常見弱口令...