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

 更新时间:2017年07月07日 11:41:55   投稿:lqh  
这篇文章主要介绍了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;

}

实现效果图:

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

相关文章

  • VC6.0常见链接错误与解决方法

    VC6.0常见链接错误与解决方法

    这篇文章主要介绍了VC6.0开发中一些常见链接错误的解决方法,需要的朋友可以参考下
    2013-07-07
  • C语言实现快速排序算法

    C语言实现快速排序算法

    这篇文章主要为大家详细介绍了C语言实现快速排序算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 快来领取!你想要的C++/C语言优秀书籍

    快来领取!你想要的C++/C语言优秀书籍

    如何选择合适的C++/C语言书籍,是不是已经眼花缭乱,不知道该选择哪本好了呢?今天我来为大家分享两本不可错过的优秀书籍
    2017-09-09
  • ON_COMMAND_RANGE多个按钮响应一个函数的解决方法

    ON_COMMAND_RANGE多个按钮响应一个函数的解决方法

    这篇文章主要介绍了ON_COMMAND_RANGE多个按钮响应一个函数的解决方法,需要的朋友可以参考下
    2014-07-07
  • C语言 二叉树的链式存储实例

    C语言 二叉树的链式存储实例

    本篇文章主要介绍C语言中二叉树的链式存储,这里提供了一个实例代码进行参考,这样对二叉树的链式存储有更深入的了解,希望能帮到学习这块知识的同学
    2016-07-07
  • C语言递归实现归并排序详解

    C语言递归实现归并排序详解

    这篇文章主要为大家详细介绍了C语言递归实现归并排序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下, 希望能够给你带来帮助
    2022-03-03
  • Window10下安装VS2022社区版的实现步骤(图文教程)

    Window10下安装VS2022社区版的实现步骤(图文教程)

    很多和同学们在接触c语言的时候都是使用VS,本文主要介绍了Window10下如何安装VS2022社区版的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • QT实现简单TCP通信

    QT实现简单TCP通信

    这篇文章主要为大家详细介绍了QT实现简单的TCP通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言实现单词小助手功能完善版

    C语言实现单词小助手功能完善版

    这篇文章主要为大家详细介绍了C语言实现单词小助手功能的完善版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 非常漂亮的新年祝福!C语言实现漂亮的烟花效果

    非常漂亮的新年祝福!C语言实现漂亮的烟花效果

    非常漂亮的新年祝福!这篇文章主要介绍了C语言实现漂亮的烟花效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论