有没有大佬在的,我这双向链表怎么没办法遍历

#include

#include

#include

#pragma warning(disable:4996)

#define num 30

typedef struct king

{

char mv_name[num];//电影名

int number;//电影序号

struct king* head;//保存上一个节点的地址

struct king* next;//保存下一个节点的地址

}new;

char* _scanf(char* fp, int a);

void _printf(new* fp1, new* fp2);

int main()

{

char input[num];

new* head = NULL; new* p1 = NULL; new* p2 = NULL;//head头指针 p1=节点分配内存 p3=链接作用

puts("stdin mv the name");

while (_scanf(input, num) != NULL && input[0] != '\0')

{

p1 = (new*)malloc(sizeof(new));

if (!p1)     break;

if (head == NULL)

{

head = p1;

head->head = NULL;

}

else

{

p2->next = p1;//第一个节点的next保存下一个节点的地址

p1->head = p2;//下一个节点保存上一个节点的地址

}

p1->next = NULL;

strcpy(p1->mv_name, input);

puts("stdin 0-9");

scanf_s("%d", &p1->number);

while (getchar() != '\n') continue;

puts("stdin mv the name");

p2 = p1;

}

p1 = head;

_printf(p1,p2);

return 0;

}

void _printf(new* fp1, new* fp2

{

while(fp1->null)

{

printf("%s %d",fp1->mv_name,fp1->nuber);

fp1=fp1->next;

}

while(fp2->null)

{

printf("%s %d",fp2->mv_name,fp2->nuber);

fp2=fp2->head;

}

}

char* _scanf(char* fp, int a)

{

char* fp1 = NULL;

char* fp2 = NULL;

fp1 = fgets(fp, a, stdin);

if (fp1)

{

fp2 = strchr(fp, '\n');

if (fp2)

*fp2 = '\0';

else

while (getchar() != '\n')

continue;

}

return fp1;

}

思路应该没错吧

c语言双链表从右向左遍历,有没有大佬在的,我这双向链表怎么没办法遍历相关推荐

  1. c语言函数参数从右往左,C语言函数入参压栈顺序为什么是从右向左?

    看到有人提问到,在处理printf/cout时,压栈顺序是什么样的?大家都知道是从右往左,也就是说从右往左的计算,但是,这里的计算不等于输出. a++和++a的压栈的区别:在计算时,遇到a++会记录此 ...

  2. c语言运算符优先级 从右到左,c语言运算符优先级,结合性(左/右结合详解)

    重新翻了遍c语言,觉得对c语言运算符结合性有必要提一下,毕竟去年我自己刚学c语言的时候,就没搞明白结合性的问题. 什么是左结合?什么是右结合?它们是干嘛用的?它们是什么时候用的? 本文将围绕这几个问题 ...

  3. c语言双链表是什么意思,双链表的表示和实现(C语言)

    #include#includetypedef int ElemType; typedef struct node{ ElemType data; struct node *next; struct ...

  4. c语言双链表排序交换节点_图解:单链表翻转的三种方式!

    当我们在聊到链表反转的时候,一定说的都是单链表,双链表本身就具有前驱指针 Prev 和后续指针 next,无需进行翻转. 单链表反转,反转后的效果如下: 看起来很简单,只需要将单链表所有结点的 nex ...

  5. C语言双链表遍历,插入,删除

    #include<stdio.h> #include<stdlib.h> #include <string.h> #define bzero(a, b) memse ...

  6. html 从左往右消失,从左到右语言写成从右到左html

    好吧,我正在浏览一些与RTL相关的博客和示例,并提供了下面的工作示例. 在这段代码转换选项是存在的,你可以尝试两种LTR和RTL上点击这个按钮 - 下面是它的工作代码. // Jquery, BS3 ...

  7. 数据结构与算法—一文多图搞懂双链表

    目录 前言 双链表介绍 与单链表区别 结构的设计 具体方法的解析 初始化 增加 空表插入: 头插入: 尾插入: 编号插入: 删除 单节点删除: 头删除: 尾删除: 普通删除: 代码与测试 总结与感悟 ...

  8. android 波斯文排序,Android 4.2原生支持从右到左的文字排列格式

    Android 4.1(Jelly Bean) 在 TextView 和 EditText 元素里对"双向文字顺序"提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同 ...

  9. C语言 单双链表实现

    文章目录 一.为什么需要链表? 二.单链表的实现 1.使用堆内存来创建一个链表节点的步骤 2.插入节点 2.1.访问链表中各个节点的数据 2.2. 将创建节点的代码封装成一个函数 2.3封装函数插入新 ...

最新文章

  1. 医生们说,AI不会取代我们!
  2. 【Python-ML】SKlearn库特征抽取-KPCA
  3. tensorflow kears GPU CUDA Cudnn 各种版本问题
  4. PowerPC VxWorks BSP分析(1)--PowerPC体系结构
  5. 蓝牙驱动卸载后自动安装_Intel 蓝牙驱动安装教程
  6. 【转】细说.NET中的多线程 (三 使用Task)
  7. 第 5-4 课:ThreadLocal 详解 + 面试题
  8. 山东大学2020计算机考研学硕,2020山东大学考研学硕复试分数线
  9. 大学四年只学java_大学四年废了怎么办,不如来学java
  10. html table 美化,html如何用css美化表格
  11. 美团旅行销售绩效系统研发实践
  12. 关于Oblog 2.52 help.asp漏洞的修补问题
  13. Ubuntu linux ls 看到目录文件夹绿色高亮问题
  14. php 多核cpu,paip.提升性能--多核cpu中的java/.net/php/c++编程
  15. 阿里iDST NLP负责人司罗:NLP技术怎样一路走到阿里云
  16. acmev2怎么用_lua-resty-acme: ACMEv2 客户端和 Let's Encrypt 证书的自动化管理
  17. va_start 用法
  18. java图片加气泡文字,动态图片加气泡文字 微信动态图片加文字教程
  19. 浅谈信息无障碍人才的培养
  20. POJ 3107 Godfather(树形DP(找重心))

热门文章

  1. 8月见!iQOO Pro 5G版即将亮相:骁龙855Plus加持
  2. 拼多多董事会变更:董事6人变5人 张震不再出任
  3. 为什么现在越来越多的人不愿换新机?最后一个原因扎心了
  4. webpack打包教程
  5. 3.请求安全-- 结合使用的安全优势总结
  6. c# 与 c++ 界面同框终极技巧
  7. asio定时器深度探析
  8. Linux下coredump调试1:使用
  9. 【clickhouse】flink jdbc 方式写入 clickhouse 报错 request to {}->http://xxx:8123: Broken pipe
  10. 【kafka】kafka topic某些分区 副本落后leader太多