| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:线性表小问题
只看楼主 加入收藏
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
结帖率:33.33%
收藏
 问题点数:0 回复次数:6 
线性表小问题

想问下兄弟们 这个线性表算法的主函数怎么写 功能《插入》
我写了几遍总是有问题 具体主函数就不写上来了 怕大家笑话 谢谢各位啦
#include <iostream>
using namespace std;
const int n0=100;
typedef int datatype;
struct sqlist{
datatype v[n0+1];
int n;
};
void ins ( sqlist &L,int i,datatype x )
{
int j;
if(i>L.n||(i<0))
cout<<"参数错";
else if(L.n==n0)
cout<<"溢出";
else{
for(j=L.n;j>i;j--)
L.v[j+1]=L.v[j];
L.v[i+1]=x;
L.n++;
}
}

搜索更多相关主题的帖子: 线性 
2007-11-07 21:37
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
无限老大  飞燕姐  你们都去哪里溜达去了

准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-11-07 22:05
yaiby
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-10-21
收藏
得分:0 

datatype v[n0+1];
在i位置插入数据后,后面的数据都要向后顺移一位。

2007-11-07 22:24
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

else{
for(j=L.n;j>i;j--)
L.v[j]=L.v[j-1];

L.v[i]=x;
L.n++;
}
这样试试看,因为不知道你其他函数是怎样实现的

没什么问题,就是多注意下 下标对应(从0开始) ,你可以取实际的值去试。

Fight  to win  or  die...
2007-11-07 22:43
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 

还是实现不了 大哥们还是 帮帮我


#include <iostream>
using namespace std;
const int n0=100;
typedef int datatype;
struct sqlist{
datatype v[n0+1];
int n;
};
void ins ( sqlist &L,int i,datatype x )
{
int j;
if(i>L.n||(i<0))
cout<<"参数错";
else if(L.n==n0)
cout<<"溢出";
else{
for(j=L.n;j>i;j--)
L.v[j]=L.v[j-1];

L.v[i]=x;
L.n++;
}

}
void main()
{
sqlist s;
s.n = 0;
ins(s,0,1); //代真实数值实现算法

cout<<L<<endl; //打印这个已经插好了的连表
}


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-11-08 12:02
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
cout<<L<<endl; //打印这个已经插好了的连表

什么意思, 你不该有这样的错误哦!

void print(const sqlist &l){ //增加一个打印函数
for (int i = 0;i < l.n;++i)
cout << l.v[i] << " ";
cout << endl;
}

print(s); //打印这个已经插好了的连表

Fight  to win  or  die...
2007-11-08 12:25
孤魂居士
Rank: 2
来 自:老A(中国地大)
等 级:论坛游民
威 望:4
帖 子:1142
专家分:18
注 册:2007-5-21
收藏
得分:0 
以下是引用aipb2007在2007-11-8 12:25:02的发言:
cout<<L<<endl; //打印这个已经插好了的连表

什么意思, 你不该有这样的错误哦!

void print(const sqlist &l){ //增加一个打印函数
for (int i = 0;i < l.n;++i)
cout << l.v[i] << " ";
cout << endl;
}

print(s); //打印这个已经插好了的连表

搞糊涂了```
谢谢无限老大了
以后我会认真学习数据结的 不会出现这样的问题了``


准备用3年做个高级软件工程师 10年也做不成。准备用10年做成高级软件工程师 3年就成了QQ 群 45771086
欢迎版主...欢迎JAVA爱好者...
一起从深夜 到凌晨...
2007-11-08 12:32
快速回复:线性表小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041357 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved