C語言中字符串實(shí)現(xiàn)正序與逆序?qū)嵗斀?/h1>
更新時(shí)間:2017年07月07日 11:41:55 投稿:lqh
這篇文章主要介紹了C語言中字符串實(shí)現(xiàn)倒敘實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
C語言中字符串實(shí)現(xiàn)逆序?qū)嵗斀?/strong>
字符串逆序和正序的實(shí)現(xiàn)代碼:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <malloc.h>
#include <string.h>
/*定義*/
typedef struct node
{
char c;
struct node *llink,*rlink;
}stud;
/*建立鏈表*/
stud * creat(void)
{
stud *p,*h,*s;
char a;
if((h=(stud *)malloc(sizeof(stud)))==NULL)
{
printf("不能分配內(nèi)存空間!");
exit(0);
}
h->c = 0;
h->llink=NULL;
h->rlink=NULL;
p=h;
while(1)
{
a = getchar();
if(a=='\n')
break;
if((s= (stud *) malloc(sizeof(stud)))==NULL)
{
printf("不能分配內(nèi)存空間!");
exit(0);
}
p->rlink=s;
s->c =a;
s->llink=p;
s->rlink=NULL;
p=s;
}
h->llink=s;
p->rlink=h;
return(h);
}
/*正序*/
void print1(stud *h)
{
stud *p;
p=h->rlink;
printf("字符串(正序):");
while(p!=h)
{
printf("%c",p->c);
p=p->rlink;
}
printf("\n");
}
/*逆序*/
void print2(stud *h)
{
stud *p;
p=h->llink;
printf("字符串(逆序):");
while(p!=h)
{
printf("%c",p->c);
p=p->llink;
}
printf("\n");
}
/*釋放*/
void free_stud(stud *h)
{
stud *p,*q;
p=h->llink;
while(p!=h)
{
q=p;
p=p->llink;
free(q);
}
free(h);
}
/*主函數(shù)*/
int main()
{
stud *head=NULL;
head=creat();
print1(head);
print2(head);
free_stud(head);
return 0;
}
實(shí)現(xiàn)效果圖:

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
-
快來領(lǐng)取!你想要的C++/C語言優(yōu)秀書籍
如何選擇合適的C++/C語言書籍,是不是已經(jīng)眼花繚亂,不知道該選擇哪本好了呢?今天我來為大家分享兩本不可錯(cuò)過的優(yōu)秀書籍 2017-09-09
-
ON_COMMAND_RANGE多個(gè)按鈕響應(yīng)一個(gè)函數(shù)的解決方法
這篇文章主要介紹了ON_COMMAND_RANGE多個(gè)按鈕響應(yīng)一個(gè)函數(shù)的解決方法,需要的朋友可以參考下 2014-07-07
-
Window10下安裝VS2022社區(qū)版的實(shí)現(xiàn)步驟(圖文教程)
很多和同學(xué)們?cè)诮佑|c語言的時(shí)候都是使用VS,本文主要介紹了Window10下如何安裝VS2022社區(qū)版的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下 2024-02-02
-
非常漂亮的新年祝福!C語言實(shí)現(xiàn)漂亮的煙花效果
非常漂亮的新年祝福!這篇文章主要介紹了C語言實(shí)現(xiàn)漂亮的煙花效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2018-02-02
最新評(píng)論
C語言中字符串實(shí)現(xiàn)逆序?qū)嵗斀?/strong>
字符串逆序和正序的實(shí)現(xiàn)代碼:
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <malloc.h> #include <string.h> /*定義*/ typedef struct node { char c; struct node *llink,*rlink; }stud; /*建立鏈表*/ stud * creat(void) { stud *p,*h,*s; char a; if((h=(stud *)malloc(sizeof(stud)))==NULL) { printf("不能分配內(nèi)存空間!"); exit(0); } h->c = 0; h->llink=NULL; h->rlink=NULL; p=h; while(1) { a = getchar(); if(a=='\n') break; if((s= (stud *) malloc(sizeof(stud)))==NULL) { printf("不能分配內(nèi)存空間!"); exit(0); } p->rlink=s; s->c =a; s->llink=p; s->rlink=NULL; p=s; } h->llink=s; p->rlink=h; return(h); } /*正序*/ void print1(stud *h) { stud *p; p=h->rlink; printf("字符串(正序):"); while(p!=h) { printf("%c",p->c); p=p->rlink; } printf("\n"); } /*逆序*/ void print2(stud *h) { stud *p; p=h->llink; printf("字符串(逆序):"); while(p!=h) { printf("%c",p->c); p=p->llink; } printf("\n"); } /*釋放*/ void free_stud(stud *h) { stud *p,*q; p=h->llink; while(p!=h) { q=p; p=p->llink; free(q); } free(h); } /*主函數(shù)*/ int main() { stud *head=NULL; head=creat(); print1(head); print2(head); free_stud(head); return 0; }
實(shí)現(xiàn)效果圖:
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
快來領(lǐng)取!你想要的C++/C語言優(yōu)秀書籍
如何選擇合適的C++/C語言書籍,是不是已經(jīng)眼花繚亂,不知道該選擇哪本好了呢?今天我來為大家分享兩本不可錯(cuò)過的優(yōu)秀書籍2017-09-09ON_COMMAND_RANGE多個(gè)按鈕響應(yīng)一個(gè)函數(shù)的解決方法
這篇文章主要介紹了ON_COMMAND_RANGE多個(gè)按鈕響應(yīng)一個(gè)函數(shù)的解決方法,需要的朋友可以參考下2014-07-07Window10下安裝VS2022社區(qū)版的實(shí)現(xiàn)步驟(圖文教程)
很多和同學(xué)們?cè)诮佑|c語言的時(shí)候都是使用VS,本文主要介紹了Window10下如何安裝VS2022社區(qū)版的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02非常漂亮的新年祝福!C語言實(shí)現(xiàn)漂亮的煙花效果
非常漂亮的新年祝福!這篇文章主要介紹了C語言實(shí)現(xiàn)漂亮的煙花效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02