資料結構基礎

2021-08-18 02:13:26 字數 2122 閱讀 7341

public class listarray implements list 

public listarray(strategy strategy)

//獲取第i位置上元素

public object get(int i)

return elements[i];

}//在第i個位置插入資料元素e

public boolean insert(int i, object e) throws outofboundexception else

//把從第i位置的元素開始到最後乙個元素,都往後移動乙個位置

for(int j = size - 1; j > i; j--)

//把第i位置的值改為e

elements[i] = e;

//把陣列元素的格式增加1

size++;

return true;}}

//動態擴充套件陣列容量

private void expandspace()

elements = newarray;

}//移除陣列中第i位置的元素並返回

public object remove(int i) throws outofboundexception

for (int j = i; j < size - 1; j++)

//把陣列的元素個數減少1

elements[--size] = null;

return e;

}//刪除元素e,並判斷是否刪除成功

public boolean remove(object e)

isremove = true;

}return isremove;

}//定位元素e的位置

//定位元素e在鍊錶中的下標

public int indexof(object e) else

}return -1;

}//在單鏈表的第i位置插入元素e

public boolean insert(int i, object e) throws exception

stnode p = getpre(i);

stnode self = (stnode) get(i);

p.setnext(s);

s.setnext(self);

size++;

return true;

}//獲取第i位置的前乙個節點

private stnode getpre(int i) throws outofboundexception

/*if(i == 0)else

return p;

}*/stnode p = head;

for(;i > 0; i--)

return p;

}//獲取元素e的前乙個元素節點

private stnode getpre(object e) else

}return null;

}//刪除第i位置的元素並返回

public object remove(int i) throws exception

/*stnode s = (stnode) get(i);

if(i == 0)else if(i == size-1)else*/

stnode p = getpre(i);

object obj = p.getnext().getdata();

p.setnext(p.getnext().getnext());

size--;

return obj;

}public boolean remove(object e)

return false;}}

資料結構基礎

資料結構定義 定義 一 資料元素集合 也可稱資料物件 中各元素的關係。定義 二 相互之間存在特定關係的資料元素集合。資料結構的種類 1 集合 2 線性結構 3 樹形結構 4 圖狀結構 或網狀結構 資料結構的形式定義 資料結構名稱 d,s 其中d為資料元素的有限集,s是d上關係的有限集 邏輯結構 資料...

基礎資料結構

1 雙鏈表。下面是c 版本的實現。include stdafx.h include 結構體 typedef struct nodedlink 初始化 void dlist dlink dl 求長度 int dlength dlink dl return i 查詢 dlink dsearch dlin...

資料結構基礎

邏輯結構 描述資料元素之間的邏輯關係。物理結構 資料結構在計算機中的表示 映像 又稱儲存結構。它包含資料元素的表示和關係的表示。用乙個可以由若干位組合形成的乙個位串表示乙個資料元素,稱這個位串為元素或節點。當資料元素由若干資料項組成時,位串中對應於各個資料項的子位串稱為資料域。資料元素之間的關係在計...