为了账号安全,请及时绑定邮箱和手机立即绑定

谁帮我看下插入函数哪有问题,谢谢了

谁帮我看下插入函数哪有问题,谢谢了

C
慕标7193633 2018-04-25 07:34:38
#include<stdio.h> #include<malloc.h> typedef struct node{ int data; struct node * next; }Node; //建立循环单链表 Node * creat(Node * head){ Node *p,*q; int a; char ch; head=(Node*)malloc(sizeof(Node)); //头节点中不存放元素 q=head; ch='*'; printf("\n请输入链表数据,以?结束\n"); while(ch!='?'){ scanf_s("%d",&a); p=(Node*)malloc(sizeof(Node)); p->data=a; q->next=p; q=p; ch=getchar(); } q->next=head; return head; } //打印数据表 void Print(Node * head){ Node*q; q=head->next; printf("数据表元素为:\n"); while(q!=head){ printf("%d ",q->data); q=q->next; } printf("\n"); } void Insert(Node*head,int x){ Node*s,*p,*q; p=head->next; q=head; s=(Node*)malloc(sizeof(Node)); s->data=x; while(p!=head){ if(x<(p->data)){ s->next=p; q->next=s; }else{ q=p; p=p->next; } } } int main(){ Node*sq; int j; sq=(Node*)malloc(sizeof(Node)); sq=creat(sq); Print(sq); printf("请输入要插入的元素:"); scanf_s("%d",&j); Insert(sq,j); Print(sq); return 0; }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 697 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信