資料結構 演算法與應用第六章1 10答案

2021-09-02 23:08:49 字數 2750 閱讀 9169

首先給一下extendedchain和checkindex的**:

checkindex:

template//判斷索引是否有效

void chain::checkindex(int theindex) const

extendedchain(const extendedchain& c) :

chain(c) {}

// adt methods

bool empty() const

int size() const

t& get(int theindex) const

int indexof(const t& theelement) const

void erase(int theindex);

void insert(int theindex, const t& theelement);

void setsize(int thesize);

void clear()

chain::listsize = 0;

} void push_back(const t& theelement);

void ceshi();

void set(int theindex, t theelement)

void output(ostream& out) const

// additional method

void zero()

void removerange(int fromindex, int toindex);

protected:

chainnode* lastnode; // pointer to last node in chain

};templatevoid extendedchain::erase(int theindex)

else

chain::listsize--;

delete deletenode;

}templatevoid extendedchain::insert(int theindex, const t& theelement)

else

chain::listsize++;

}templatevoid extendedchain::setsize(int thesize)

templatevoid extendedchain::push_back(const t& theelement)

chain::listsize++;

}

然後是題目:

2:

template//設定鍊錶的範圍

inline void chain::setsize(int thesize)

if (thesize < listsize)

listsize = thesize;

} }

3:

template//替換索引為theindex的元素為theelement

void chain::set(int theindex, t theelement)

else

temporarynode->element = theelement;

} }

4:

templatevoid chain::removerange(int fromindex, int toindex) 

else

chainnode* temporarynode = temporary1node->next;

for (int j = 0; j != i + 1; j++)

}else

firstnode = temporarynode;

}listsize = listsize - i;

listsize = listsize - 1;

} }

5:這個題目不能用陣列,因為鍊錶的值不確定

int chain::lastindexof(t & theelement)

temporarynode = temporarynode -> next;

} if (i == 0)

else

}

6:

templatet & chain::operator(size_t theindex)

else

return temporarynode->element;

}}

:7:

bool operator==(const chain& b) 

else

}if (j == listsize)

} else

}

8:

bool operator!=(const chain& b) 

else

}

9:

bool operator<(const chain& b) 

else

}if (j == listsize)

} else

}

10:

//替換thechain與this

templatevoid chain::swap(chain& thechain)

第六章 資料結構

存放同一種資料型別的多個元素的容器,通過索引 記憶體偏移量 進行元素的訪問,陣列的大小一旦確定就不能改變。陣列其實也是線性表結構,在記憶體中陣列的元素是緊挨著連續儲存的。特點 查詢快 增刪慢 舉例 定義乙個陣列 int arr new int 想在2的後面插入乙個新的元素11,這時候就需要定義乙個新...

資料結構第六章樹

第六章 樹 1.樹是n個結點的有限集。n 0時稱為空樹。在任意乙個非空樹中 1 有且僅有乙個特定的稱為根的結點 2 當n 1時,其餘節點可分為m個互不相交的有限集,其中每乙個集合又是一棵樹,並成為根的子樹。2.結點分類 結點擁有的子樹稱為結點的度。度為0的結點稱為葉結點或終端節點 度不為0的結點稱為...

資料結構筆記 第六章

一.圖的儲存結構及實現 圖可以使用兩種儲存結構,分別是鄰接矩陣和鄰接表。鄰接矩陣以矩陣的形式儲存圖所有頂點間的關係。鄰接矩陣具有以下特點 1,鄰接矩陣是正矩陣,即橫縱維數相等。2,矩陣的每一行或一列代表乙個頂點,行與列的交點對應這兩個頂點的邊。3,矩陣的點代表邊的屬性,1代表有邊,0代表無邊,所以矩...