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