xue?? 2016-10-16 14:28 采纳率: 37.5%
浏览 937

新人诚心求教一个循环链表的问题

图片说明]这个是题目

下面附上代码 是学校的ACM练习题 连续搞了很久 一直是RUNtime error运行时错误 但是我自己的电脑是能输出答案的
但是提交时不能通过 是不是有些地方我没有想到 希望各位大神帮我指出一下

[code=c]#include
#include
#include

struct node{
char c;
struct node *next;
};

typedef struct node *Link;

Link init();
void Delete(Link *L);
void move(Link *L);
void Insert(Link *L,char ch);
void print(Link head);

int main(void){
char ch;
int i;
int playnum;
int choose;
Link L;
scanf("%d", &playnum);
L = init();

for(i=0;i<playnum;i++){
    scanf("%d", &choose);

    if(choose==1){

        scanf(" %c",&ch);
        Insert(&L,ch);

    }
    if(choose==2){
        if(!(L->next==L)){
            Delete(&L);
        }

    }
    if(choose==3){

        L = L->next;

    }

}


print(L);
printf("\n");
return 0;

}

Link init(){
Link head;
Link before;
Link newnode;
Link tall;

int i, num;
char str[1000];
//初始字符串的输入
scanf("%s",str);
num = strlen(str);

head = (Link)malloc(sizeof(struct node));
if(!head)
    return NULL;
head->c = str[0];
head->next = NULL;
before = head;
//讲初始字符串接入链表
for(i=1;i<num;i++){
    newnode = (Link)malloc(sizeof(struct node));
    if(!newnode)
        return NULL;
    newnode->c = str[i];
    newnode->next = NULL;
    before->next = newnode;
    before = newnode;
}
newnode->next = head;
tall = newnode;

return tall;

}

void Insert(Link *L,char ch){
Link p,s;
p = *L;
s = (Link)malloc(sizeof(struct node));

s->c = ch;
//
s->next = p->next;
p->next = s;
//指针后移
p = p->next;

*L = p;

}

void Delete(Link *L){
Link p,q;
p = *L;
q = p->next;
p->next = q->next;
free(q);
*L = p;
}
void print(Link head){
Link p;
p = head;
do
{
printf("%c",p->c);
p = p->next;
}while(head!=p);

}[/code]

测试用数据图片说明

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2016-10-31 02:37
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services