但是任何**都是要有用處才可以吸引我們的興趣,給我們繼續前進的動力。
那麼下面就來介紹如何使用鏈棧來解決回文數問題。
時空門--->>>鏈棧與鏈隊(^_−)☆
(已省略注釋)
#include #include #include #include using namespace std;
typedef struct node
linkstack;
linkstack * initlinkstack()
h->data = '\0';
h->link = null;
return h;
}void pushstack(linkstack *h, char number) //入棧
s->data = number;
s->link = null;
p->link = s;
}char popstack(linkstack *h)
linkstack *p, *temp;
p = h;
if (!(temp = (linkstack*)malloc(sizeof(linkstack))))
while (p->link->link)
temp = p->link;
temp_number = p->link->data;
p->link = p->link->link;
free(temp);
// cout << endl << "pop " << temp_number << " successful!";
return temp_number;
}int _tmain(int argc, _tchar* argv)
cout << endl;
cout << "☆huiwen_judge: " << endl;
p = h;
for (int i = 0; i < n/2; i++)
p = p->link;
} if (flag == 0)
return 0;
}
(∑(っ°д°;)っ啊嘞,被你發現了 ,好吧好吧,我招了~這就是我直接基於上篇文章中的鏈棧直接改的~)
下面混合使用棧與佇列來處理回文數問題:
思路:
由於棧與佇列分別是從其所在的鏈上的兩端輸出,
所以根據這個性質可以建立乙個棧和乙個佇列,使得二者使用的是同乙個「鍊錶」;
然後在主函式中對返回的值進行迴圈比較即可。
附上**:
#include #include #include using namespace std;
typedef struct node
linkstack, linkqueue;
linkstack * initlinkstack()
h->data = '\0';
h->link = null;
return h;
}void pushstack(linkstack *h, char number) //入棧
s->data = number;
s->link = null;
p->link = s;
}char popqueue(linkqueue *h) //出隊,使用返回值帶出彈出的值
linkqueue *p, *temp;
p = h;
if (!(temp = (linkqueue*)malloc(sizeof(linkqueue))))
temp = p->link;
temp_number = p->link->data;
p->link = p->link->link;
free(temp);
return temp_number;
}char popstack(linkstack *h) //出棧,使用返回值帶出彈出的值
linkstack *p, *temp;
p = h;
if (!(temp = (linkstack*)malloc(sizeof(linkstack))))
while (p->link->link)
temp = p->link;
temp_number = p->link->data;
p->link = p->link->link;
free(temp);
return temp_number;
}int _tmain(int argc, _tchar* argv)
cout << endl;
cout << "☆huiwen_judge: " << endl;
p = h;
for (int i = 0; i < n / 2; i++)
p = p->link;
} if (flag == 0)
return 0;
}
☆僅僅記錄日常編寫** 與 疑問(`・ω・´) C,C 回文字串判斷(字串指標的用法)
功能 輸入乙個字串,判斷是否為回文。主要鍛鍊指標的用法。1.c版 include int main char he 100 char a int i 0,flag 1 while a getchar n he i a i int n i for i 0 i getchar 函式依次獲取乙個輸入,並賦...
C,C 回文字串判斷(字串指標的用法)
功能 輸入乙個字串,判斷是否為回文。1.c語言版 includeint main int n i for i 0 i c t c n he i he n 1 i if he i he n 1 i if flag 1 return 0 getchar 函式依次獲取乙個輸入,並賦給char型變數a,再通...
ValidPalindrome(回文字串的判斷)
author lemonlin description strin alidpalindrome date 2019 5 9 16 40 given a string,determine if it is a palindrome,considering only alphanumeric char...