C语言中字符串实现正序与逆序实例详解

C语言中字符串实现逆序实例详解

字符串逆序和正序的实现代码:

#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("不能分配内存空间!");  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("不能分配内存空间!");   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);}/*主函数*/int main(){ stud *head=NULL; head=creat(); print1(head); print2(head); free_stud(head); return 0;}

实现效果图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

喜欢就喜欢了,心被牵动,无须理由,爱上你是我的自由,

C语言中字符串实现正序与逆序实例详解

相关文章:

你感兴趣的文章:

标签云: