| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 413 人关注过本帖
标题:这个程序运行后不知怎么会变成这样的?
只看楼主 加入收藏
zwqbq
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-9-13
收藏
 问题点数:0 回复次数:0 
这个程序运行后不知怎么会变成这样的?
//已知线性表中的元素以值递增有序排列,以单链表作存储结构,删除表中所有值大于mink且小于maxk的元素
#include<stdio.h>
#include<stdlib.h>

//线性表的单链表存储结构
typedef struct LNode{
    int data;
    struct LNode * next;
} LNode,*LinkList;
LNode * p;

void CreateList_L(LinkList &L,int n){
    //逆位序输入n个元素的值,建立带表头结点的单链线性表L
    scanf("%d",&n);
    L = (LinkList) malloc (sizeof (LNode));
    int i;
    L->next = NULL;  //先建立一个带头结点的单链表
    for(i = n; i > 0; --i)
    { p= (LinkList) malloc(sizeof (LNode)); //生成新的结点
      scanf("%d",&p->data);
      p->next = L ->next; L->next = p; //插入到表头
    }
} //CreateList_L

void Delete_Between(LinkList &L,int mink,int maxk)//删除元素递增排列的链表L中值大于mink且小于maxk的所有元素
{
  LNode * q;
  scanf("%d%d",&mink,&maxk);
  p=L;
  while(p->next->data<=mink) p=p->next; //p是最后一个不大于mink的元素
  if(p->next)    //如果还有比mink更大的元素
  {
    q=p->next;
    while(q->data<maxk) q=q->next; //q是第一个不小于maxk的元素
    p->next=q;
  }
}//Delete_Between


void main ()
{

  void CreateList_L(LinkList &L,int n);
  void Delete_Between(LinkList &L,int mink,int maxk);
  while(p!= NULL){
       printf("%d",p->data);
       p=p->next;
  }
}
搜索更多相关主题的帖子: 运行 
2008-09-24 18:35
快速回复:这个程序运行后不知怎么会变成这样的?
数据加载中...
 
   



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

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