| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:一天没搞定555555(关于链表操作的程序)
只看楼主 加入收藏
lwp001
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2009-5-12
结帖率:100%
收藏
 问题点数:0 回复次数:0 
一天没搞定555555(关于链表操作的程序)
这个程序怎么+++限制的条件 我都是用对的数据来试验的 比如在删除里加上如果没有链表 输出请建立链表 等等限制非法数据乱来 谢谢!!
#include<iostream.h>
#include"malloc.h"
struct node
{
   int data;

  struct node *next;
};
 struct node *next,*null,*p,*L,*s,*q;
 int j,e,n,k,x,y;
  
 void create( )
{

   
   L=(struct node *)malloc(sizeof(struct node));
   L->next=null;
   s=L;
   cout<<"请输入链表的元素(要求是整型,以-1结束输入):"<<endl;
   cin>>k;
   while(k!=-1)
   {
      
  p=(struct node *)malloc(sizeof(struct node));
  p->data=k;
  s->next=p;
  s=p;
   cin>>k;
   
   }
  p->next=null;
  cout<<endl<<endl<<endl;
}

void showlianbiao()
{    if(L=null)   cout<<"空链表!"<<endl;
    cout<<"您所建立的链表如下:"<<endl;
     p=L->next;
   while(p)
   {   
       cout<<p->data<<" ";
       p=p->next;

   }
cout<<endl<<endl;
}

void insert( int i,int e)
{     
    if(i<0||i>j) cout<<"位置错误!"<<endl;
       p=L->next;
       cout<<"输入插入的位置i:"<<endl;
       cin>>i;
       cout<<"输入要插入的元素e:"<<endl;
       cin>>e;
if(i<0||i>j) cout<<"位置错误!"<<endl;
    else
    {
        p=L->next;
         for(n=0;i<n;n++)
         p=p->next;
         q=(struct node *)malloc(sizeof(struct node));
        q->data=e;
        q->next=p->next;
        p->next=q;
    }
        
}
 void find( int x)
 {   if(L=null) cout<<"请建立链表!"<<endl;
     
     int i;
 cout<<"请输入要查找的位置x:"<<endl;
     cin>>x;
     p=L->next;
     for(i=1;i<x;i++)
      p=p->next;
     cout<<p->data<<endl;
 }
 void del(int y)
 {
     int i;
   cout<<"请输入要删除的位置y:"<<endl;
   cin>>y;
   p=L->next;
 for(i=1;i+1<y;i++)
      p=p->next;
    q=p->next->next;
     free(p->next);
    p->next=q;
   
 }

 void Length()
 {
     j=1;
     p=L->next;
 while(p->next!=null)
 {
     j++;
     p=p->next;
 }
 cout<<"链表长:"<<j<<endl;
 }
int main()
{
   int i;
 cout<<"1--建立链表:"<<endl;
cout<<"2--显示链表:"<<endl;
cout<<"3--插入元素:"<<endl;
cout<<"4--查找元素:"<<endl;
cout<<"5--删除元素:"<<endl;
cout<<"6--链表长度:"<<endl;
 cout<<"请选择:"<<endl;
 cin>>i;
 switch(i){
 case 1: create(); main();break;
case 2: showlianbiao();main();break;
case 3: insert(i,e);main();break;
case 4: find(x);main();break;
case 5: del(y);main();break;
case 6: Length();main();break;
    }
return 0;
}



[ 本帖最后由 lwp001 于 2009-10-12 22:24 编辑 ]
搜索更多相关主题的帖子: 链表 
2009-10-12 22:22
快速回复:一天没搞定555555(关于链表操作的程序)
数据加载中...
 
   



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

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