無聊看到csdn有人問用c言語用棧實現倒序輸出字串。
示例中用空格作為字串的分隔符。
#include
#include
#define err_value -1
//引數錯誤
#define err_memory -2
//記憶體錯誤
#define ok 0
#define true 1
#define false 0
#define strlen 88
typedef
struct _mystack
mystack;
typedef mystack * pmystack;
//建立空棧
intcreate_stack
(pmystack *stack)
(*stack)
->next=
null;(
*stack)
->str=
null
;//memset(stack->str,0,strlen);
return ok;
}//壓棧
intpush_stack
(pmystack *stack,
const
char
*data,
int datalen)if(
(*stack)
->str==
null
)//空棧,不用建節點
else
node->str=
null
; node->next=
null
; node->str=
(char*)
malloc
(datalen*
sizeof
(char)+
1);memset
(node->str,
0,datalen+1)
;//賦值
strncpy
(node->str,data,datalen)
; node->next=
(*stack);(
*stack)
=node;
return ok;}}
//棧頂是否為空
intstack_isempty
(pmystack stack)
else
}//刪除棧頂元素
intpop_stack
(pmystack *stack)
tmp=
(*stack);(
*stack)=(
*stack)
->next;
if(tmp->str!=
null
)return ok;
}//獲取棧頂元素
const
char
*top_stack
(pmystack stack)
return stack->str;
}//遍歷棧
void
show_stack
(pmystack stack)
while
(tmp->str!=
null
)else
}printf
("\n");
}//清空棧
void
clear_stack
(pmystack *stack)
while((
*stack)
!=null&&(
*stack)
->str!=
null)}
intmain()
;char
*de=
" ";
int delen=
strlen
(de)
; pmystack stack=
null
;create_stack
(&stack)
;char
*head=data;
char
*pdata=
null
;while(1
);pdata=
strstr
(head,de);if
(pdata!=
null
)else//}
printf
("遍歷整個棧:\n");
show_stack
(stack)
;printf
("棧頂元素:\n");
printf
("%s\n"
,top_stack
(stack));
printf
("刪除棧頂元素\n");
pop_stack
(&stack)
;//刪除棧頂元素
printf
("遍歷整個棧:\n");
show_stack
(stack)
;printf
("棧頂元素:\n");
printf
("%s\n"
,top_stack
(stack));
//清空棧
clear_stack
(&stack)
;system
("pause");
}
執行結果:
倒序輸出字串
public static void main string args system.out.println result public static string revertstring string str char chars str.tochararray int len chars.le...
如何用python倒序輸出字串?
今天在面試乙個實習生的時候,向他提了乙個問題,用你最喜歡的程式語言實現倒序輸出字串你會怎麼做?小夥子說最喜歡c 然後找我要了支筆在紙上寫了十幾行 用的還是遞迴求解的方法 雖然最後是實現了這個小目標,但這過程讓我總感到焦慮 我問小夥子學過python沒有,小夥子靦腆的說沒有學過,因為在大一的時候學了c...
字串倒序輸出
題目 輸入乙個字串,將該串倒序輸出。例如輸入字串 hello 倒序輸出為 olleh str1 str input 請輸入字串 print 輸入的字元是 s str1 str2 定義乙個空串用來接收倒序後的字串 for i in str1 1 對字串進行倒序輸出 str2 join i 使用str2...