资源简介
用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时就生成头结点(初值为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
相关资源
- 稀疏矩阵相加相乘三元组、十字链表
- 十字链表的定义及实现
- 排队论的仿真 离散事件系统仿真
- 学生籍贯信息记录簿1创建信息链表并
- 用链表实现的一个电话本小程序
- 树孩子—兄弟链表表示
- 大数阶乘用单链表实现大数阶乘
- 长整数加减法运算 双向链表
- 数据结构 建立二叉树二叉链表存储结
- Linux内核链表实现多客户端连接服务器
- 数据结构课程设计——静态单链表操
- 用邻接链表作存储结构的图类
- 数据结构课程设计报告基于双向循环
- 数据结构课程设计-通讯录(双链表全
- 双向链表的增删改查
- udp 多线程实现多客户端并发,并采用
- 实现关于链表的各种操作及排序
- 链表实验三
- 单链表的操作
- 数据结构之双向链表(完整版)
- 链表多项式的加法与乘法设计报告
- 多线程实现双向链表增删改
- 稀疏矩阵的十字链表表示方法:矩阵
- 线性表的基本操作-学生信息管理
- c编写的数据结构创建顺序表、链表、
- 数据结构员工管理系统
- 链表实现学生管理
- 链表实现学生表的增删查改
- 实现两个有序单链表的合并
- 链表实现长整数相加减
评论
共有 条评论