資料結構課程要求在論壇進行小組討論,這是master·ye小組實驗討論貼
uj5u.com熱心網友回復:
第一個實驗:PTA:字串是否對稱uj5u.com熱心網友回復:
直接比較首尾是否相等
bool palindrome( char *s )
{
int n,i;
n=strlen(s)-1;
for(i=0;i<=n/2;i++)
if(s[i]!=s[n-i])
return false;
return true;
}
用陣列模擬堆疊,前一半字符進堆疊保存,在一個個出堆疊與后半字符進行比較
bool palindrome(char* s)
{
int mid, top = -1, i = 0;
char xn[200] = { 0 };
mid = strlen(s) / 2;
while (i != mid)
{
top++;
xn[top] = s[i];
i++;
}
if (strlen(s) % 2 == 1 && strlen(s) != 1)
i++;
while (i != strlen(s) - 1)
{
if (xn[top] != s[i])
return false;
else
{
top--;
i++;
}
}
return true;
}
uj5u.com熱心網友回復:
葉醬真帥!!!!!!!!!!!!
uj5u.com熱心網友回復:
bool Ispalindrome(SqStack *&s){
SqStack *q;
InitStack(q);
int i=0;
char e;
while(StackEmpty(s)){
GetTop(s,e);
Pop(s,e);
Push(q,e);
}
for(i=0;i<=MaxSize;i++){
if(q->data[i]!=s->data[i])
break;
}
if(i!=MaxSize)
return true;
else
return false;
}InitStack(q):為函式的初始化
GetTop(s,e)取堆疊頂的元素,并賦值給e
根據的堆疊的“后進先出“原則,進行退堆疊操作,并將退堆疊元素進堆疊q,后比較q與s即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/279005.html
標籤:非技術區
上一篇:C# 語法問題
