标题:请大神帮我看看这个程序哪里出错,麻烦会的赶紧帮我看看,谢谢了
只看楼主
教育方法
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-6-24
结帖率:0
 问题点数:0 回复次数:0 
请大神帮我看看这个程序哪里出错,麻烦会的赶紧帮我看看,谢谢了
#include<stdio.h>
#include<stdlib.h>/*删除递增线性表中值大于min且小于max的元素*/
#include <malloc.h>
#define ERROR 0
#define OK 1
typedef struct Node  
{
 int data;
 struct Node *next;

}Node,*LinkList;/*LinkList为结构指针类型,用来说明头指针变量*/
void initlinklist(LinkList *L)/*初始化单链表*/
{
 *L=(LinkList)malloc(sizeof(Node));
 (*L)->next=NULL;
}
void  Create(LinkList L)/*建立单链表*/
{
 Node *s,*r;
 char c;
    int flag=1;
 r=L;
 while(flag)
 {
  scanf("%d",&c);
  if(c!=-1)/*当输入-1时建表结束*/
  {
   s=(Node *)malloc(sizeof(Node));
   s->data=c;
   r->next=s;
   r=s;
  
  }
  else
  {
   flag=0;
   r->next=NULL;
  }

 }
}
int ListLength(LinkList L)
{
 int i=0;
 Node *p;
 p=L->next;
 while(p!=NULL)
 {p=p->next;
 i++;}
 return i;
}
void print(LinkList L)
{
 Node *p;
 p=L->next;
 printf("\nThe list value is:");
 while(p!=NULL)
 {
  printf("%d ",p->data);
  p=p->next;
 }

}
void Delete_Between(LinkList L,int min,int max)
{
 
 Node *p,*q;
 if(max>=min)
 {
  p=L;
  q=p->next;
  while(q!=NULL&&q->data<=min)
  {
   p=q;
   q=q->next;
  }
  while(q!=NULL&&q->data<max)
  {
   p->next=q->next;
   free(q);
   q=p->next;
  }
 }
 

}
void main()
{
 LinkList LA;
 Node *p,*q;
 int i,len;
 char min,max;
    initlinklist(&LA);
    printf("please Create the LA,using the -1 End(the increasing):\n");
    Create(LA);
 print(LA);
 getchar();
 printf("\nplease input the value of min and max:");
 scanf("%d %d",&min,&max);
 Delete_Between(LA,min,max);
 print(LA);
}
搜索更多相关主题的帖子: include Create 线性表 
2016-09-18 18:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468915-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.322312 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved