社区
软件培训
帖子详情
一个大学生的求助!
sidanyang
2004-06-09 05:31:11
大家一看也知道是我课程设计的题目!我已经努力做了,他要用到大三的知道,可我才大二,对我来说点困难,程序有一些我目前修改不了的错误,请高手指教!~~
以链表为基类完成链表的排序
设计内容:
1、建立一个链表类
2、包括对链表的创建、删除、插入、遍利等操作
3、以此为基类创建一个可以把两个链表归并的链表排序的类
4、此类插入新节点时能按排序规律插入相应位置
5、程序要尽可能的优化
6、按要求写出课程设计报告
分不是问题!~~~
邮箱:sdy888888@163.com
...全文
242
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
}
区块链之Go语言设计模式
在朋友聚会上碰到了
一个
美女Sarah,从拉斯维加斯来的,可我不会说粤语,她不会说普通话,只好
求助
于我的朋友kent了,他作为我和Sarah之间的Adapter,让我和Sarah可以相互交谈了(也不知道他会不会耍我)。 &...
大学生
在线
求助
!!!!!求大神!!!!
计算机专业学生学的软件开发,想做
一个
android 横板 音乐 游戏,问一下需要什么技术,学的java,html,css,js,spring boot,MySQL,没了(没学vue),做游戏需要什么,求大神解答。
求助
!!!!急!!!
1、用数组建立5个学生的信息,包含姓名、学号、电话、数学成绩、语文成绩、英语成绩,输出每个学生的以上信息及总成绩(输出效果方便查看理解,尽量人性化)。把5个学生所有信息(含总成绩)写入磁盘文件中。 2、用指针完成上面一题,或者自己用指针设计完成
一个
类似的题。
求助
第二题
sos
求助
!!!项目四
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:score.cpp * 作 者: 徐本锡 * 完成日期: 2013 年 03 月 09 日 * 版本号: v1
idea报错
求助
!!!!
求助
问题! idea报错,百度不到答案,大二学生表示心力交瘁,已经弄了4天了,显示eclipse运行不了代码,换成了idea却一直这样,希望大神能告诉我该怎么做,非常感谢!!!
软件培训
1,160
社区成员
6,344
社区内容
发帖
与我相关
我的任务
软件培训
在CSDN学院遇到的问题反馈及对学院的改进建议等。
复制链接
扫一扫
分享
社区描述
在CSDN学院遇到的问题反馈及对学院的改进建议等。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章