題目:回文字串判斷,就是乙個字串,從左到右讀和從右到左讀是完全一樣的
例如:abcdedcba就是回文
/**
* 字串回文判斷
*@param str 需要判斷的字串
*@return true 是回文 false 不是回文
*/public
static
boolean
ispalindrome(string str)
// 如果字元陣列大小為奇數
if (inputchar.length % 2 != 0)
// 對比字元陣列後半部分字元和棧中字元
for (int i = mid; i < inputchar.length; i++)
}return
true;
}
測試**:
public
static
void
main(string args) else
}
題目:設計乙個可以把棧中元素按照公升序排列的排序演算法
/**
* 設計乙個可以把棧中元素按照公升序排列的排序演算法
*@param sourcestack 需要排序的原棧
*@return 排序後的棧
*/public
static linkedliststacksort(linkedliststacksourcestack)
resultstack.push(temp);
}return resultstack;
}
測試**:
public
static
void
main(string args)
}
題目:給定乙個棧,如何只使用棧操作(push和pop)逆置棧中的內容
// 使用到遞迴呼叫
public class stackreversal
anytype temp =
stack
.pop();
reversestack(stack);
insertatbottom(stack, temp);
}public
void insertatbottom(linkedliststack
stack, anytype data)
anytype temp =
stack
.pop();
insertatbottom(stack, data);
stack
.push(temp);
}}
測試**:
public
static
void main(string args)
}
演算法與資料結構 習題1 0
一 選擇題 在計算機中,演算法是指 a.查詢方法 b.加工方法 c.解題方 而完整的描述 d.排序方法 2.下列敘述中正確的是 a 演算法的效率只與問題的規模有關,而與資料的儲存結構無關 b 演算法的時間複雜度是指執行演算法所需要的計算工作量 c 資料的邏輯結構與儲存結構是一一對應的 d 演算法的時...
資料結構與演算法(11) 棧習題二
題目 判定字串中開閉分隔符是否匹配 思路 1.分解字串成字元陣列,並建立乙個棧 2.如果讀取的字元不是開閉分隔符,直接忽略 如果讀取的字元是開分隔符則壓棧 如果讀取的字元是閉分隔符,且棧不為空,棧頂元素出棧,否則提示匹配錯誤 3.如果出棧的開分隔符與讀取的閉分隔符不匹配,提示匹配錯誤 4.字串處理完...
資料結構與演算法《棧》
概念 棧 stack 又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素 從乙個棧刪除元素又稱作出棧或退棧,它是把棧頂元素刪除掉,使...