网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
vc++环境下单向链表的建立,读取,和删除
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

#include <iostream.h>
typedef char datatype;
struct node{           //定义结构体node,建表
 datatype data;
 node * next;
};
struct linklist{
 node *head;
 int len;
};

linklist L;
node * creat(void){  //建立一个链表
 node *head,*p,*q;char ch; int i=0;
 head = new node;
 head->next = NULL; p = head;
 cout<<"=============================================\n";
 cout<<"请随机输入数字,输入#+回车键结束!\n";
 cout<<"=============================================\n";
 cin>>ch;
 while (ch!=''#'')
 {
  q = new node;
  q->data = ch;
  q->next = NULL;
  p->next = q;
  p = q;
  cin>>ch;
   i++;
 }
   L.head = head;
   L.len = i;
  
 return(head);
}

void out(node *head)  //输出一个链表
{
 
 
 head = L.head ;
 node *a;
 a = head->next;
    while(a!=NULL)
 {
  cout<<a->data<<" ";
  a = a->next;
 }
}

node * Loc(linklist D,int i) //定位第i个结点
{
 node *p;int j;
 j = 0;p = D.head;
 if((i>=1)&&(i<=D.len))
  while(j<i)
  {p=p->next;
  j++;
  }
  return(p);
}

void Insert(linklist &C,int i,datatype x) //插入一个结点
{
 node *q,*p;
 if(i<0||i>C.len) cout<<"there is a error";
 else{
  p = Loc(C,i);
  q = new node;
  q->data = x;
  q->next = p->next ;
  p->next = q;
  C.len++;
 }

  
}

void Del(linklist &D,int i) //删除一个结点
{
 node *p,*q;
 if((i<1)||(i>D.len))
     cout<<"error";
 else
 {
  p=Loc(D,i-1);
  q = p->next;
  p->next = q->next;
  delete q;
  D.len--;}
}

void main(void)
{
 creat();
 cout<<"=============================================\n";
 cout<<"由您输入的数字构成的原始链表为:\n"<<endl;
 out(L.head);
 cout<<endl;
 Insert(L,3,''c'');
 cout<<"=============================================\n";
 cout<<"插入一个数字后的结果:\n"<<endl;
 out(L.head);
 cout<<endl;
 Del(L,3);
&

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号