C語言中字符串實(shí)現(xiàn)正序與逆序?qū)嵗斀?/h1>
來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎ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)效果圖:
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
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)效果圖:
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
欄 目:C語言
下一篇:C語言實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)串(堆分配存儲表示法)實(shí)例詳解
本文標(biāo)題:C語言中字符串實(shí)現(xiàn)正序與逆序?qū)嵗斀?/a>
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1371.html
您可能感興趣的文章
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用函數(shù)刪除字符
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)式函數(shù)庫
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對數(shù)怎么表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段函數(shù)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排序法函數(shù)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段函數(shù)
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求階乘


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達(dá)式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10C#中split用法實(shí)例總結(jié)
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05織夢dedecms什么時(shí)候用欄目交叉功能?
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改