刪除線性表指定位置的元素(單鏈表實現)

2021-07-07 07:06:47 字數 1720 閱讀 9783

剛開始接觸c++和資料結構,寫的第乙個c++作業題,程式短小卻調了快兩天。萬事開頭難啊,紀錄一下下。

課本是《資料與演算法分析》(c++版)(第三版)clifford a. shaffer

4.1假設乙個線性表包含下列元素:,使用圖4.1的list adt編寫一些c++語句,刪除值為15的元素。

#include "stdafx.h"

#include #include #include #include using namespace std;

template class list

list(const list&) {}

public:

list() {}

virtual ~list() {}

virtual void clear() = 0;

virtual void insert(const e& item) = 0;

virtual e remove() = 0;

virtual void movetostart() = 0;

virtual void movetoend() = 0;

virtual void prev() = 0;

virtual void next() = 0;

virtual int length() const = 0;

virtual int currpos() = 0;

virtual void movetopos(int pos) = 0;

virtual const e& getvalue() const = 0;

};template class link

link(link* nextval = null)

};templateclass llist : public list

void removeall()

}public:

llist(int size = defaultsize)

~llist()

void print()

} void clear()

void insert(const e& it)

tail = tail->next = new link(it,null);

cnt++;

} e remove()

void movetostart()

void movetoend()

void prev()

void next()

int length() const

int currpos()

void movetopos(int pos)

const e& getvalue() const

};int main()

cout << "線性表包含下列元素:" << endl;

l1.print(); //列印線性表的所有元素

l1.movetopos(2); //將curr移動到要刪除的元素前

l1.remove(); //刪除curr的後乙個節點

cout << endl<

l1.print();

system("pause");

}

輸入:2 23 15 5 9,執行結果如下圖

線性表刪除元素

時間限制 1 sec 記憶體限制 128 mb 提交 14 解決 13 提交 狀態 討論版 命題人 uzzoj 利用線性表順序儲存的動態儲存,實現建立線性表,以及刪除線性表中的某個元素 輸入包括 輸入元素個數,以及相應的線性表元素,以及要刪除的位置 輸出刪除後的線性表 5 1 2 3 4 5 31 ...

php刪除指定位置陣列元素

arr a b c array splice arr,0,1 var dump arr brr a b c array shift brr var dump brr 結果如下 array size 2 0 string b length 1 1 string c length 1 array siz...

刪除單鏈表中指定元素

解題思路 1.判斷頭結點是否為需要刪除的元素,為防止鍊錶開頭有多個元素均為指定元素,所以使用while迴圈判斷 2.判斷頭結點是否為空,3.宣告乙個prev節點,prev.next節點為當前判斷的節點,如果當前節點的值等於指定元素,那麼直接用prev.next.next替換prev.next 如果不...