freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)2清華大學(xué)ppt-文庫吧資料

2025-01-26 06:33本頁面
  

【正文】 重載操作:取當(dāng)前串 *this的第 i個字符 if (i 0 amp。 return this。 strcpy(ch,)。 exit(1)。 ch = new char[maxSize+1]。 ob) { if (amp。 ? 例:串 st = “university”, pos = 3, len = 4 使用示例 subSt = st(3, 4) 提取子串 subSt = “vers” 60 串重載操作 : 串賦值 AStringamp。 //子串結(jié)束 } return temp。 i++, j++) [i] = ch[j]。 //子串長度 59 for (int i = 0, j = pos。 len 0) { //提取子串 if (pos+len1 = curLength) len = curLength pos。 pos+len1 maxLen amp。 //建立空串對象 if (pos = 0 amp。 ob) 串賦值 S1 = S, //S1結(jié)果為‘ tsinghua? 6 += (const AStringamp。 ob) 判兩串 相等 S == S1 , //若 S與 S1相等 , 結(jié)果為 true,否則為 false 3 != (const AStringamp。 //復(fù)制串值 }。 } curLength = 。 //創(chuàng)建串?dāng)?shù)組 if (ch == NULL) { cerr “存儲分配錯 ! \n”。 ob) { //復(fù)制構(gòu)造函數(shù):從已有串 ob復(fù)制 maxSize = 。 //復(fù)制串長度 strcpy(ch, init)。 exit(1)。 ch = new char[maxSize+1]。 53 字符串的構(gòu)造函數(shù) AString::AString(const char *init) { //復(fù)制構(gòu)造函數(shù) : 從已有字符數(shù)組 *init復(fù)制 int len = strlen(init)。 ch[0] = ?\0?。 exit(1)。 ch = new char[maxSize+1]。 //串匹配 }。 //取第 i 個字符 int Find (AStringamp。 //串連接 charamp。 operator += (AStringamp。 ob)。若串空 , 則函數(shù)返回 true AStringamp。 } //判串不等 . 若串不相等 , 則函數(shù)返回 true 51 bool operator ! () const { return curLength == 0。 } //判串相等 . 若串相等 , 則函數(shù)返回 true bool operator != (AStringamp。 //求子串 bool operator == (AStringamp。 } //求長度 Astringamp。 //復(fù)制構(gòu)造函數(shù) ~ AString() {delete [ ]ch。 //構(gòu)造函數(shù) AString(const AStringamp。 //存放數(shù)組的最大長度 public: 50 AString(int sz = defaultSize)。 //串存放數(shù)組 int curLength。 //字符串的最大長度 class AString { //對象 : 零個或多個字符的一個有限序列。串變量和其它類型的變量一樣,其取值可以改變。如 C++中,可定義 const char path[] = “dir/bin/appl”。通常串常量是由直接量來表示的,例如語句 Error (“overflow”) 中 “ overflow”是直接量。 48 ? 通常在程序中使用的串可分為兩種:串變量和串常量。因此,稱 B 在 A 中的位置為 2。例如,設(shè) A和 B分別為 A = “This is a string” B = “is” 則 B 是 A 的子串, A 為主串。 47 ? 串中任意個連續(xù)字符組成的子序列稱為該串的 子串 ,包含子串的串相應(yīng)地稱為主 串 。 ? 例如 , S = “Tsinghua University”。 45 ? 二元組表中每個二元組只記錄非零元素的列號和元素值,且各二元組按行號遞增的順序排列。 ? 在行指針數(shù)組中元素個數(shù)與矩陣行數(shù)相等。 delete [ ] rowStart。 rowStart [smArray[i].col]++。 [j].col = smArray[i].row。 i++) { j = rowStart [smArray[i].col]。 for (i = 0。 i Cols。 rowStart[0] = 0。 i Terms。 i++) rowSize[i] = 0。 for (i = 0。 = Terms。 //轉(zhuǎn)置位置數(shù)組 = Cols。 B) { int *rowSize = new int[Cols]。 ? 掃描矩陣三元組表,根據(jù)某項(xiàng)列號,確定它轉(zhuǎn)置后的行號 , 查 rowStart 表 , 按查 到的位置直接將該項(xiàng)存入轉(zhuǎn)置三元組表中 。 ? 快速轉(zhuǎn)置算法的思想為:對 原矩陣 A 掃描一遍,按 A 中每一元素的列號,立即確定在轉(zhuǎn)置矩陣 B 三元組表中的位置,并裝入它。當(dāng)非零元素的個數(shù) t 和 m*n 同數(shù)量級時(shí),算法 transmatrix的時(shí)間復(fù)雜度為 O(m*n2)。 } } }。 [CurrentB].value= smArray[i].value。 i++) if (smArray[i].col == k) { [CurrentB].row = k。 k++) //處理 所有列號 for (i = 0。 38 for (k = 0。 //轉(zhuǎn)置矩陣的列數(shù) ,行數(shù)和非零元素個數(shù) if (Terms 0) { int CurrentB = 0。 = Rows。 37 稀疏矩陣的轉(zhuǎn)置 template class E void SparseMatrixE :: Transpose (SparseMatrixEamp。第 k 次檢測列號為 k 的項(xiàng)。 ? 稀疏矩陣的轉(zhuǎn)置運(yùn)算要轉(zhuǎn)化為對應(yīng)三元組表的轉(zhuǎn)置。 ? 在稀疏矩陣的三元組表中,非零矩陣元素按行存放。 32 稀疏矩陣的轉(zhuǎn)置 ? 一個 m?n 的矩陣 A,它的轉(zhuǎn)置矩陣 B 是一個 n?m 的矩陣,且 A[i][j] = B[j][i]。 exit(1)。 smArray = new Triple[Terms]。 Cols = Cl。 //三元組表 }。 //a = a*b pvivate: int Rows, Cols, Terms。 a, SparseMatrixEamp。 b)。 //轉(zhuǎn)置 void Add (SparseMatrixEamp。 //構(gòu)造函數(shù) void Transpose(SparseMatrixEamp。 } }。 col = 。 //非零元素的值 void operator = (TripleEamp。 templateclass E struct Triple { //三元組 int row, col。因此,稀疏矩陣可由表示非零元的一系列三元組及其行列數(shù)唯一確定。但由于非零元素的分布一般沒有規(guī)律,故在存儲非零元素時(shí),必須記下它所在的行和列的位置 ( i, j )。 ? 有人認(rèn)為 e≤ 時(shí)稱之為稀疏矩陣。 28 ? 設(shè)矩陣 A 中有 s 個非零元素。 ? 在三條對角線上的元素 aij 滿足 0 ? i ? n1, i1 ? j ? i+1 ? 在一維數(shù)組 B 中 A[i][j] 在第 i 行,它前面有 3*i1 個非零元素 , 在本行中第 j 列前面有 ji+1 個,所以元素 A[i][j] 在 B 中位置為 k = 2*i + j??偣灿?3n2個非零元素。 A[j][i]在數(shù)組 B 的第 (2*nj1) * j / 2 + i 的位置中找到。 22 ??????????33323130232221201312111003020220aaaaaaaaaaaaaaaa上三角矩陣 B a00 a01 a02 a03 a11 a12 a13 a22 a23 a33 0 1 2 3 4 5 6 7 8 9 若 i ? j,數(shù)組元素 A[i][j]在數(shù)組 B中的存放位置為 n + (n1) + (n2) + ??? + (ni+1) + ji 前 i行 元素總數(shù) 第 i行第 j個 元素前元素個數(shù) n = 4 23 ? 若 i ? j,數(shù)組元素 A[i][j]在數(shù)組 B中的存放位置為 n + (n1) + (n2) + ??? + (ni+1) + ji = = (2*ni+1) * i / 2 + ji = = (2*ni1) * i / 2 + j ? 若 i j,數(shù)組元素 A[i][j]在矩陣的下三角部分,在數(shù)組 B 中沒有存放。 ? 例,當(dāng) k = 8, 3*4 / 2 = 6 ? k 4*5 / 2 =10, 取 i = 3。 20 ????????????????????11121110122221201112111010020220nnnnnnnnaaaaaaaaaaaaaaaa?????????下三角矩陣 若 i ? j, 數(shù)組元素 A[i][j]在數(shù)組 B中的存放位置為 1 + 2 + ??? + i + j = (i + 1)* i / 2 + j B a00 a10 a11 a20 a21 a22 a30 a31 a32 …… an1n1 0 1 2 3 4 5 6 7 8 n(n+1)/21 前 i行 元素總數(shù) 第 i行第 j個 元素前元素個數(shù) 21 ? 若 i j,數(shù)組元素 A[i][j] 在矩陣的上三角部分 , 在數(shù)組 B 中沒有存放,可以找它的對稱元素 A[j][i]: = j *(j +1) / 2 + i ? 若已知某矩陣元素位于數(shù)組 B 的第 k個位置( k≥0) ,可尋找滿足 i (i + 1) / 2 ? k (i + 1)*(i + 2) / 2 的 i, 此即為 該元素的行號。 下三角矩陣 19 ????????????????????11121110122221201112111010020220nnnnnnnnaaaaaaaaaaaaaaaa????????? 上三角矩陣 ? 把它們按行存放于一個一維數(shù)組
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1