純C用棧實現倒序輸出字串

2021-10-06 23:32:29 字數 2780 閱讀 7488

無聊看到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...