社区
软件培训
帖子详情
一个大学生的求助!
sidanyang
2004-06-09 05:31:11
大家一看也知道是我课程设计的题目!我已经努力做了,他要用到大三的知道,可我才大二,对我来说点困难,程序有一些我目前修改不了的错误,请高手指教!~~
以链表为基类完成链表的排序
设计内容:
1、建立一个链表类
2、包括对链表的创建、删除、插入、遍利等操作
3、以此为基类创建一个可以把两个链表归并的链表排序的类
4、此类插入新节点时能按排序规律插入相应位置
5、程序要尽可能的优化
6、按要求写出课程设计报告
分不是问题!~~~
邮箱:sdy888888@163.com
...全文
306
4
打赏
收藏
一个大学生的求助!
大家一看也知道是我课程设计的题目!我已经努力做了,他要用到大三的知道,可我才大二,对我来说点困难,程序有一些我目前修改不了的错误,请高手指教!~~ 以链表为基类完成链表的排序 设计内容: 1、建立一个链表类 2、包括对链表的创建、删除、插入、遍利等操作 3、以此为基类创建一个可以把两个链表归并的链表排序的类 4、此类插入新节点时能按排序规律插入相应位置 5、程序要尽可能的优化 6、按要求写出课程设计报告 分不是问题!~~~ 邮箱:sdy888888@163.com
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一生有爱1980
2004-07-20
打赏
举报
回复
从上到下,先发现了这个L.list=0;这个错了L.list是指针赋值为0等于没初始化
shahu4593
2004-06-25
打赏
举报
回复
我靠,我大一就会写只个了
klbt
2004-06-13
打赏
举报
回复
帮你up
sidanyang
2004-06-09
打赏
举报
回复
typedef int ElemType; //定义ElemType为int类型
struct LinearList
{
ElemType *list; //存线性表元素
int size; //存线性表长度
int Maxsize; //存list数组长度
public:
void InitList (LinearList&L,int ms);
void Clearlist(LinearList&L);
bool ListEmpey(LinearList&L);
bool ListFull(LinearList&L);
void TraverList(LinearList&L);
bool FindList(LinearList&L,ElemType&item);
bool UpdataList(LinearList&L,const ElemType&item);
bool InsertList(LinearList&L,const ElemType&item,int mark);
bool DeleteList(LinearList&L,ElemType&item,int mark);
void OrderOutputlist(LinearList&L,int mark);
};
#include<iomanip.h>
#include<stdlib.h>
void InitList(LinearList&L,int ms) //初始化线性表
{
L.list=new ElemType[ms];
if(!L.list)
{
cerr<<"Memory allocation failure!"<<endl;
exit(1);
}
L.list=0;
L.Maxsize=ms;
}
void ClearList(LinearList&L) //清空线性表
{
L.size=0;
}
bool ListEmpty(LinearList&L) //检查线性表是否为空
{
return L.size==0;
}
bool ListFull(LinearList&L) //检查线性表是否为满
{
return L.size==L.Maxsize;
}
void TraverList(LinearList&L) //遍历线性表
{
for (int i=0;i<L.size;i++) cout<<L.list[i];
cout<<endl;
}
bool FindList(LinearList&L,ElemType&item) //从线性表中查找元素
{
for (int i=0;i<L.size;i++)
if (L.list[i]==item)
{
item=L.list[i];
return true;
}
return false;
}
bool UpdataList(LinearList&L,const ElemType&item)//更新线性表中的给定元素
{
for (int i=0;i<L.size;i++)
if (L.list[i]==item)
{
L.list[i]=item;
return true;
}
return false;
}
bool InsertList(LinearList&L,const ElemType&item,int mark)//向线性表的表头,表尾或合适位置插入元素
{
int i;
if (ListFull(L)) return false;
if (mark>0) //向表头插入元素
{
for ( i=L.size-1;i>=0;i--)
L.list[i-1]=L.list[i];
L.list[0]=item;
}
else //向表尾插入元素
if (mark<0)L.list[L.size]=item;
else //有序插入元素
for( i=0;i<L.size;i++)
if (item<L.list[i]) break;
for (int j=L.size-1;j>=i;j--)
L.list[j+1]=L.list[j];
L.list[i]=item;
L.size++;
return true;
}
bool DeleteList (LinearList&L,ElemType&item,int mark)//从线性表中删除表头,表尾或等于给定值的元素
{
if (ListEmpty(L)) return false;
if (mark>0) { //删除表头元素
item=L.list[0];
for (int i=1;i<L.size;i++)
L.list[i-1]=L.list[i];
}
else //删除表尾元素
if (mark<0) item=L.list[L.size-1];
else { //删除值为item的元素
for (int i=0;i<L.size;i++)
if (L.list[i]==item) break;
if (i>=L.size)
return false;
else item=L.list[i];
for (int j=i+1;j<L.size;j++)
L.list[j-1]=L.list[j];
}
L.size--;
return true;
}
void OrderOutputList (LinearList&L,int mark)//对线性表按升序或降序输出
{
int *b=new int[L.size];
int i,k;
for (i=0;i<L.size;i++) b[i]=i;
for (i=1;i<L.size;i++)
{
k=i-1;
for (int j=i;j<L.size;j++)
{
if (mark==1 && L.list[b[j]]<L.list[b[k]]) k=j;
if (mark!=1 && L.list[b[k]]<L.list[b[j]]) k=j;
}
if (k!=i-1) {int x=b[i-1];b[i-1]=b[k];b[k]=x;}
}
for (i=0;i<L.size;i++)
cout<<L.list[b[i]]<<' ';
cout<<endl;
}
#include<iomanip.h>
const int ML=10;
void main()
{
LinearList a;
InitList(a,ML);
int i;
ElemType x;
cout<<"从键盘输入5个数:"; //依次向线性表a表尾插入5个元素
for (i=0;i<5;i++)
{
cin>>x;
InsertList (a,x,1);
}
cout<<"从键盘输入2个数:"; //依次向线性表a表头插入2个元素
cin>>x; InsertList (a,x,1);
cin>>x; InsertList (a,x,1);
//TraverList(a); //按不同次序输出线性表a
OrderOutputList(a,1);
OrderOutputList(a,0);
LinearList b; //把线性表a中的所有元素依次有序插入到一个新线性表b中
InitList (b,ML);
for (i=0;i<a.size;i++)
InsertList(b,a.list[i],0);
TraverList (b); //输出线性表b
if (DeleteList(a,x,1)); //从线性表a中分别删除表头,表尾,给定值元素
else cout<<"Delete fail!";
if (DeleteList (a,x,-1));
else cout<<"Delete fail!";
cout<<"从键盘输入一个待删除的整数:";
cin>>x;
if (DeleteList(a,x,0)) cout<<"Delete success!";
else cout<<"Delete fail!";
OrderOutputList(a,1); //输出线性表a
}
《Linux程序设计》实验1 Linux常用命令
(1)帮助命令:--help、info。(2)文件系统常用命令:ls、mkdir、rmdir、mv、rm、cp、find、head、tail、wc、grep、gzip、gunzip、tar、mount、umount。(3)系统管理常用命令:useradd、passwd、kill、date。(4)网络操作常用命令:ifconfig、ifup、ifdown、ping。(5)网络安全常用命令(6)字符串显示命令echo。(1)切换到/home目录。
Linux常用命令1
文章目录Linux常用命令1、查询当前目录下的文件属性2、目录跳转3、复制文件并修改名称4、强制换行5、清空至行首6、清空至行尾7、清屏8、取消本次命令编辑9、退出10、帮助命令11、查找man手册中ls相关的内容,并过滤部分符号,保存到max.txt文件中12、查看文件内容13、分页查看文件内容14、查看当前工作目录15、切到加目录16、切换工作目录17、切到上一级目录18、切到上一次目录19、查看目录下文件20、查看目录下文件详情21、递归查询opt目录下的文件22、用来设置指令的别名23、切换用户24
linux常用命令1
LINUX常用命令 1.cd 2.pwd 3. ls 4.passwd 5.who 6. cat 7. mkdir 8. rmdir 9.chmod 10.chown 11.chgrp 12.touch 13.cp 14.mv 15.rm 16.find 17.grep 18.more 19. less 20.head 21. tail 22. cut
[OS-Linux]Linux的常用命令1
本文主要以CentOS为例,介绍了Linux的基础,以及、、、等命令 一、Linux的简介 Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,而CentOS是是一款企业级Linux发行版。 这里需要注意,在Linux中一切皆文件,包括普通文件、显卡、网络等等都是文件,这一点十分重要! Linux的目录结构和文件组织形式是以多叉树的形式组织的,保
1、linux 简介及常用命令
一、步入linux1. linux 简要介绍 linux 的基本思想:一切皆文件 linux 的特点:多用户、多任务、多平台 2. linux 发行版 概念:linux的本质只是操作系统的核心,人们以linux核心为中心再集成各种各样的系统管理软件或应用工具组成一套完整的操作系统,便成为linux发行版 常见linux发行版:redhat(企业级收费)、centos(企业级免费–基于rehat重构)
软件培训
1,165
社区成员
6,341
社区内容
发帖
与我相关
我的任务
软件培训
在CSDN学院遇到的问题反馈及对学院的改进建议等。
复制链接
扫一扫
分享
社区描述
在CSDN学院遇到的问题反馈及对学院的改进建议等。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章