• 大小: 43KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签: 链表  

资源简介

用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时就生成头结点(初值为0)。链表翻转是把数据逆序(变成降序),注意,头结点不动。翻转后要再翻转一次,恢复升序后才能插入新元素,否则会出错。

资源截图

代码片段和文件信息

#include 
#include 
#include “LinList2.h“
#include 

LinList myList;
int intemp;
char a;

void myListCout()//输出
{
for(i = 0; i < myList.ListSize(); i++)
{   
temp = myList.GetData(i);
cout << temp << “   “;
}
cout<}

void myListInsert()//升序插入新数
{
while(1)
{
cout<<“是否还需要输入新的数Y代表是,N代表否“< cin>>a;
if(a==‘N‘||a==‘n‘) break;
cout<<“请输入新数“< cin>>n;
myList.OrderInsert(n);
cout<<“下面升序输出数组“< myListCout();
}
}

void myListInsert2()//逆序插入新数
{
while(1)
{
char b;
cout<<“是否还需要输入新的数Y代表是,N代表否“< cin>>a;
if(a==‘N‘||a==‘n‘) break;
for(i=0;a!=‘N‘&&a!=‘n‘;i++)
{
if(i % 2 == 0)
{
cout<<“因为当前数组为逆序,必须转化为升序才可以插入,是否要转换成升序,Y代表是,N代表否“;
cin>>b;
if(b==‘N‘||b==‘n‘) break;
myList.Converse();
cout<<“请输入新数“< cin>>n;
myList.OrderInsert(n);
cout<<“下面升序输出数组“< myListCout();
}
myListInsert(); //逆序之后为升序插入
}
}
}

void main(void)
{
cout<<“请输入数组以-1结束输入“< for(i=0;n!= -1;i++)
{
cin>>n;
if(n==-1) break;
myList.OrderInsert(n);
}
cout<<“下面升序输出数组“< myListCout();
myListInsert();
cout<<“下面逆序输出数组“< myList.Converse(); 
myListCout();
myListInsert2();
system (“pause“);
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1485  2010-05-15 16:13  1\1.cpp

     文件     229456  2010-05-15 16:06  1\1.exe

     文件       4240  2003-09-11 21:21  1\LinList2.h

     目录          0  2010-05-23 16:22  1

----------- ---------  ---------- -----  ----

               235181                    4


评论

共有 条评论