第一題(30分)
1.
定義棧的數(shù)據(jù)結構,要求添加一個min函數(shù),能夠得到棧的最小元素,push和pop的時間復雜度都是O(1),請簡要敘述你的思想
2.
閱讀下面代碼,說明輸出的含義并挑錯
問題1:寫出下列代碼的運行結果的前7行,并說明程序的含義
問題2:代碼中是否有不安全隱患?原因是?
#include
#include
const int MAX_LEN = 128;
const int MAX_LINE = 20;
int main(int argc, char* argv[])
{
char str[MAX_LEN] = "1";
char tmp_str[MAX_LEN] = "";
char buf[MAX_LEN] = "";
printf("%s\n",str);
for (int line = 1; line <= MAX_LEN; ++line )
{
strcpy(tmp_str,str);
str[0] = '\0';
for (int i=0;tmp_str[i]!=0; ++i)
{
char ch = tmp_str[i];
int count = 1;
for (;tmp_str[i+1]==tmp_str[i]; ++i)