请大家帮帮忙
来源:互联网 发布:远程控制软件 mac 编辑:程序博客网 时间:2024/05/01 09:15
小妹初来乍到,对c了解的太少,希望各位大侠们能帮帮我解决一下问题。。。。。运行时会产生很多错误呢,在此先谢过大家
#include<stdlib.h>
#include<stdio.h>
#define error 0;
#define ok 1;
typedef int ElemType;
typedef int status;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}*Link;
typedef struct
{
Link head,tail;
int len;
}LinkList;
status MakeNode(Link &p, ElemType e)
{
p = (Link)malloc(sizeof(LNode));
if(p== NULL)
{
return error;
}
printf("/n请输入一个结点数据:");
scanf("%d", &e);
p->data = e;
p->next = NULL;
printf("/n您输入的结点的数据域为:%d/n", p->data);
return ok;
}
void FreeNode(Link &p)
{
free(p);
p=NULL;
}
status InitList(LinkList &L)
{
L.head = L.tail = (LNode *)malloc(sizeof(LNode));
L.len=0;
return ok;
}
status SetCurElem(LinkList &L,Link &p,ElemType e)
{
int i=1;
int n=10;
int a[10];
InitList(L);
printf("/n输入数据:");
for(i=1;i<=10;i++){
scanf("%d,",&e);
a[i]=e;
}
for(i=1;i<=10;i++){
p=L.head->next=(LNode*)malloc(sizeof(LNode));
p->data=a[i];
printf("%d.p->data=%d./n",i-1,p->data);
p=p->next;
}
return ok;
}
status GetCurElem(Link p)
{
return(p->data);
}
void CreateList(LinkList &L, Link &q, int i)
{
L.head = L.tail=(LNode *)malloc(sizeof(LNode));
L.head->next = NULL;
q=L.head;
int n=10;
printf("请输入一个有10个结点的链表:");
for(i=n; i>0; i--)
{
q = (LNode*)malloc(sizeof(LNode));
scanf("%d,", &q->data);
q->next = L.head->next;
L.head->next = q;
}
q=L.head->next;
printf("/n");
printf("您输入的链表为:");
for(i=1; i <= 10; i++)
{
printf("%d,", q->data);
q = q->next;
}
printf("/n");
L.tail = q;
}
status InsList(LinkList &L, Link h,Link s)
{ int e;
// h = L.head;
s = (LNode*)malloc(sizeof(LNode));
printf("/n请输入您要插入的数据:");
scanf("%d",&e);
s->data = e;
s->next = L.head->next;
L.head->next = s;
printf("/n您要插入的结点为:%d", s->data);
return ok;
}
status ClearList(linkList &L)
{
if(!L.len) return error;
Link p,q;
p=q=L.head->next;
L.head->next=NULL;
while(p=L.tail)
{
p=q->next;
FreeNode(q);
q=p;
}
L.tail=L.head;
L.len=0;
return ok;
}
status Delfirst(LinkList &L, Link h, Link q)
{
h = L.head;
q = h->next;
printf("/n您要删除的结点数据为:%d", q->data);
q->next = q->next->next;
free(q);
printf("/n此时的链表变为:");
while(h->next)
{
printf("%d,", h->next->data);
}
return ok;
}
status Append(LinkList &L, Link s, Link q)
{
LinkList M;
s = (LNode*)malloc(sizeof(LNode));
s->next = NULL;
q = s;
int n = 3;
int i = 0;
s = M.head = NULL;
printf("/n请输入一个新的有3个结点的串:");
for(i = n; i > 0; i--)
{
s = (LNode*)malloc(sizeof(LNode));
scanf("%d,", &s->data);
s->next = M.head->next;
M.head->next = s;
}
printf("/n您新输入的串为:");
s = M.head->next;
for( i = 1; i <= n; i++)
{
printf("%d,", s->data);
s = s->next;
}
s = M.head->next;
L.tail->next = s;
s = L.head;
printf("/n新组成的链表为:");
while(s->next)
{
printf("%d,", s->next->data);
}
return ok;
}
void main(void)
{
ElemType e = 0;
int n = 10;
int i = 1;
Link p = NULL;
Link q = NULL;
Link h = NULL;
Link s = NULL;
LinkList L;
LinkList /*M*/;
MakeNode(p, e);
FreeNode(p);
CreateList(L, q, i);
InitList(L);
ClearList(L);
SetCurElem(L,p,e);
GetCurElem(p);
InsList(L, s);
Delfirst(L, h, q);
Append(L, s, q);
}
- 请大家帮帮忙!急
- 请大家帮帮忙
- 请大家帮帮忙吧!
- 请大家帮帮忙,谢谢啦 !!急!!!!
- 一个C++问题,请大家帮帮忙啊
- 大家帮帮忙
- 大家帮帮忙!!!
- 大家帮帮忙
- java连接数据库出错啊!请大家帮帮忙啊!!!
- 我该怎么做,请大家帮帮忙,谢谢
- 请大家帮帮忙用C#怎么写下面的题目
- 请大家帮帮忙啊,我PHP里面被加载了一段加密代码,请大家帮忙! 看见明文!
- 大家帮帮忙啊!!!!
- 请求大家帮帮忙啊
- 大家帮帮忙啊!!!
- 大家帮帮忙啦
- php中怎样去掉回车换行啊?请大家帮帮忙。谢谢
- 一个删除重复记录的问题,请各位仁兄,帮帮忙,急,求大家了
- ACE线程管理机制-线程的创建与管理 (基础的线程管理)
- 画线
- ACE线程管理机制-面向对象的线程类ACE_Task (推荐)
- (转)利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统
- Informix解决中文乱码问题
- 请大家帮帮忙
- C++内存分配问题
- ACE中TCP通信
- 学习的三种境界
- ACE中UDP通信
- ACE主动对象模式(1)
- ACE主动对象模式(2)
- 明晰C++内存分配的五种方法的区别
- ACE反应器(Reactor)模式(1)