资源简介
用带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时就生成头结点(初值为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
相关资源
- 大数(链表、数组)实现
- 单循环链表(带头结点和不带头结点
- 带头结点的单链表的c算法实现
- 建立一个单链表并进行升序排列
- 选课系统c (指针与链表)
- 动态链表的汇编语言实现
- 单链表的基本操作(实验)
- 链表实现通讯录管理系统
- STM32用链表实现多级菜单
- 数据结构课程设计——基于链表与哈
- 哈夫曼树--链表实现编码,解码
- 通讯录管理系统(c 链表)
- 约瑟夫环的四种算法循环链表等
- 线性表的基本操作vs2017
- STM32F4链表实现
- 整数链表
- 数据结构实现顺序结构、动态链表结
- 根据二叉树的抽象数据类型的定义,
- 双向链表及其应用——实现多项式的
- 利用带头结点的单链表实现两个集合
- 数据结构、表、栈,队列
- speex音频转pcm和aac
- 建立一个带头节点的双向链表
- 数据结构课程设计-城市链表
- 链表中删除相同结点实验报告及源码
- 用单向循环链表实现约瑟夫环问题
- win32汇编实现贪吃蛇
- 单链表的基本操作.c
- 两个链表求交集链表基础练习
- 数据结构链表交叉合并 排序
评论
共有 条评论