資料結構(線性表)

2021-08-10 20:04:47 字數 1659 閱讀 7500

線性表的儲存結構包括順序儲存和鏈式儲存。順序儲存的元素,邏輯上相鄰的元素其物理位置上也相鄰,鏈式儲存的元素,邏輯上相鄰的元素物理位置上不一定相鄰。這裡以單向鍊錶為例。分別實現相應功能。

順序儲存:

class seqlist:ilistds

public seqlist():this(10)

public int getlength()

public void clear()

public bool isempty()

else//使用else邏輯更加清晰

}public void insert(t item, int index)

else

else

data[index] = item;

count++;}}

}public t delete(int index)

else

count--;

return temp;}}

public t getelem(int index)

else

}public int locate(t val)

}return -1;

}public t this[int index]

setelse}}

}鏈式儲存:

class linklist:ilistds

public int getlength()

else

return count;}}

public void clear()

public bool isempty()

else

temp.next=new node(item);}}

public void insert(t item, int index)

else

else

nodelocate = temp.next;

temp.next = new node(item);

temp.next.next = locate; }}

}public t delete(int index)

else

else

t data = temp.next.data;

temp.next = temp.next.next;

return data;}}

}public t getelem(int index)

else

else

t data = temp.data;

return data;}}

}public int locate(t val)

else

}return temp == null ? -1 : i;

}public t this[int index]

setelse

else

temp.data = value;}}

}}

} class node

public node(t data)

public node(nodenext)

public node()

public t data set }

public nodenext set }

}

資料結構(線性表)

1.試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作insert l,i,b 並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。status insert linklist l,int i,int b 在無頭結點鍊錶l的第 i個元素之前插入元素 belse insert 2.已知線性表中...

資料結構 線性表

參考 一 線性表 順序表 單鏈表 迴圈鍊錶 雙鏈表 順序表 1.表的初始化 void initlist seqlist l 2.求表長 int listlength seqlist l 3.取表中第i個結點 datatype getnode l,i 4.查詢值為x的結點 5.插入 具體演算法描述 v...

資料結構 線性表

線性表是最基礎的一種資料結構,這樣的資料物件包含的資料元素具有一對一的前驅後繼關係。按其邏輯儲存方式的不同可分為兩類線性表 順序表和鏈式表。其中鏈式表又可分為線性鍊錶 迴圈鍊錶和雙向鍊錶。下面分別介紹下這幾種線性表的資料結構 1.順序表 typedef struct sqlist 插入演算法 i到n...