首先給一下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代表無邊,所以矩...