怎样写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。
答案:2 悬赏:40 手机版
解决时间 2021-03-26 13:16
- 提问者网友:却不属于对方
- 2021-03-26 03:10
怎样写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。
最佳答案
- 五星知识达人网友:北城痞子
- 2021-03-26 03:42
这不是很简单码?
头尾交换即可阿?
template
const int N = 1024;
struct list{
DataType data[N];
int max;
};
typedef struct list List;
void reverseList(List &l)
{
for(int i=0;i {
l.data[i] = l.data[i]+l.data[max-i-1];
l.data[max-i-1] = l.data[i]-l.data[max-i-1];
l.data[i] = = l.data[i]-l.data[max-i-1];
}
}
附加空间为1,(其实为0,i不算)
头尾交换即可阿?
template
const int N = 1024;
struct list{
DataType data[N];
int max;
};
typedef struct list List;
void reverseList(List &l)
{
for(int i=0;i
l.data[i] = l.data[i]+l.data[max-i-1];
l.data[max-i-1] = l.data[i]-l.data[max-i-1];
l.data[i] = = l.data[i]-l.data[max-i-1];
}
}
附加空间为1,(其实为0,i不算)
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-26 04:41
这不是很简单码?
头尾交换即可阿?
template
const int N = 1024;
struct list{
DataType data[N];
int max;
};
typedef struct list List;
void reverseList(List &l)
{
for(int i=0;i {
l.data[i] = l.data[i]+l.data[max-i-1];
l.data[max-i-1] = l.data[i]-l.data[max-i-1];
l.data[i] = = l.data[i]-l.data[max-i-1];
}
}
附加空间为1,(其实为0,i不算)。
头尾交换即可阿?
template
const int N = 1024;
struct list{
DataType data[N];
int max;
};
typedef struct list List;
void reverseList(List &l)
{
for(int i=0;i
l.data[i] = l.data[i]+l.data[max-i-1];
l.data[max-i-1] = l.data[i]-l.data[max-i-1];
l.data[i] = = l.data[i]-l.data[max-i-1];
}
}
附加空间为1,(其实为0,i不算)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯