标题:一个关于数据结构的问题 Change() 急~~!!~~
取消只看楼主
小真丁丁
Rank: 2
等 级:论坛游民
帖 子:36
专家分:18
注 册:2009-9-20
结帖率:58.33%
 问题点数:0 回复次数:2 
一个关于数据结构的问题 Change() 急~~!!~~
#include <iostream>
using namespace std;


struct celltype {
    int element;
    celltype * next; };
typedef celltype * position;
typedef celltype * LIST;
celltype * End(LIST & L) {
    celltype * q;
    q = L;
    while (q->next != NULL)
        q = q->next;
    return q; }
void MakeNull (LIST &L) {
    L = new celltype;
    L->next = NULL; }
void Insert (int x,position p) {
    position temp;
    temp = p->next;
    p->next = new celltype;
    p->next->next = temp;
    p->next->element = x; }
void Change(position p,LIST & L) {
    position temp,temp2;
    temp = p->next->next->next;
    temp2 = p->next->next;
    p->next->next->next = p->next;
    p->next->next = temp;
    p->next = temp2; }

int main() {
    celltype * L= new celltype;
    Insert(1,L);
    Insert(2,L);
    Insert(3,L);
    Change(2,L);
    return 0;
 }

我在运行的时候,Eclipse显示initializing argument 1 of `void Change(celltype*, celltype*&)'
c++上显示C:\Documents and Settings\Administrator\桌面\新建文件夹\gaohao.cpp(36) : error C2664: 'Change' : cannot convert parameter 1 from 'const int' to 'struct celltype *'
怎么办?
搜索更多相关主题的帖子: 数据结构 Change 
2009-11-09 21:44
小真丁丁
Rank: 2
等 级:论坛游民
帖 子:36
专家分:18
注 册:2009-9-20
得分:0 
谢谢各位了~~~
2009-11-09 21:44
小真丁丁
Rank: 2
等 级:论坛游民
帖 子:36
专家分:18
注 册:2009-9-20
得分:0 
整出来了,Change函数输入的第一个数字是地址~~内存地址~~~所以,加一个Locate就可以了~~
position Locate(int x,celltype * L) {
    position p;
    p = L;
    while (p->next!=NULL)
        if(p->next->element == x)
            return p;
        else
            p = p->next;
    return p;
2009-11-09 22:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291708-1-1.html




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

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