2 qq 34405898 qq_34405898 于 2016.03.25 00:14 提问

顺序链表的插入用C语言编程实现

将一个整数插入到有序的顺序链表中,以下是我的源程序,请问哪错了啊??
#include
#include

typedef struct Lnode
{
int data;
struct Lnode *next;
}Lnode,*LinkList;

LinkList CreateListR(LinkList L)
{
int n;
LinkList p,s;
p=L=(LinkList)malloc(sizeof(Lnode));
scanf("%d",&n);
for(;n>0;n--)
{
s=(LinkList)malloc(sizeof(Lnode));
scanf("%d",s->data);
p->next=s; p=s;
}
p->next=NULL;
return L;
}

LinkList ListInsert(LinkList L1)
{
int m;
LinkList s,p,L;
p=L=CreateListR(L1);
scanf("%d",&m);
while(p!=NULL)
{
if(p->data>m)
{
s=(LinkList)malloc(sizeof(Lnode));
s->data=m;
s->next=L->next; {
q=q->next;
printf("%d ",q->data);

  }
  return 0;

}

3个回答

caozhy
caozhy   Ds   Rxr 2016.03.25 00:21
已采纳
 LinkList ListInsert(LinkList L1)
{
      int m;
      LinkList s,p,L;
      p=L=CreateListR(L1);
      scanf("%d",&m);
      while(p!=NULL)
      {
            if(p->data>m)
            {
                  s=(LinkList)malloc(sizeof(Lnode));
                  s->data=m;
                  s->next=L->next;
            } //是后括号
            p=p->next; //哪里来的q,是p吧。
            printf("%d ",p->data);

      }
      return 0;
}
qq_34405898
qq_34405898   2016.03.25 08:28

对对,我p和q弄混了,太谢谢了图片说明图片说明

qq_34405898
qq_34405898   2016.03.26 23:15

可是还是不行诶图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
单链表.c(单链表,使用C语言编写,具有插入、删除、显示等功能)
单链表,使用C语言编写,具有插入、删除、显示等功能
单链表的顺序插入、删除、查找/code/c&c++
#include #include #define MAXLEN 20 typedef struct node { int data; node * next; }node; void Createnode(node * & l)//顺序插入节点 { static int len = 0; if(len >= MAXLEN) { printf("L
链表进行插入排序
插入排序:在已排好序的序列中,找到当前要排序元素的插入位置即可。如果我们对链表进行排序,我们只需要找到当前插入位置的前一个指针即可。然后当前元素向前移动一位。//对单向链表进行快速排序 #include #include using namespace std; //链表数据结构 struct ListNode { int val; ListNode *next; }; //在链表末尾追加
LinkedHashMap(按访问顺序的链表)实现Lru
LinkedHashMap(按访问顺序的链表)实现LruLinkedHashMap 根据链表中元素的顺序可以分为: 按插入顺序的链表,和按访问顺序(调用get方法)的链表按插入顺序的链表,这个不做介绍。 下边来说明按照“访问顺序的(调用get方法)的链表”的实现原理:一、创建链表LinkedHashMap<String, Bitmap> map = new LinkedHashMap<Strin
两种栈的实现--顺序栈和链表栈
C语言链表插入排序
C语言链表插入排序 大家好,我就是人见人爱 花见花开车见爆胎的小智 声音依旧是那么低沉切性感,现在又来给大家更新博客的第一视角了。 这期给大家介绍的是链表的插入排序。 具体代码如下: struct Student *Sort(struct student *h) { struct student *ptemp=h,*phead,*q,*r,*t; phead=(struct st
【C语言】 链表 单链的建立,节点增加 删除 顺序插入
上一篇的升级版 #include #include struct bookdata{ int book; struct bookdata *next; };  /* 打印链表 */  struct bookdata *Display(struct bookdata *head) { struct bookdata *dis = head;
C语言实现链表的创建,初始化,插入,删除,查找
#include #include #define OK 0 #define ERROR -1 #define MALLOC_ERROR -2 typedef int ElementType; typedef struct node { ElementType data; // 结点的数据 struct node *next; // 结点
链表:顺序链表和单链表
在学习线性表之前,必须要清楚“顺序存储的线性表”和“链式存储的线性表”。 (1)顺序存储线性表         1、采用数组来存储顺序线性表的各元素。         2、基本结构: #define MAXSIZE 20 typedef int Elemtype; typedef struct { Elemtype data[MAXSIZE]; //采用数组存储线性表
顺序单链表插入新节点的一种方法
顺序单链表插入新节点的一种好的抽象方法