博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[PTA]带头结点的链式表操作集
阅读量:6707 次
发布时间:2019-06-25

本文共 2221 字,大约阅读时间需要 7 分钟。

#include 
#include
#define ERROR NULLtypedef enum {
false, true} bool;typedef int ElementType;typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode Position;typedef PtrToLNode List;List MakeEmpty(); Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );int main(){ List L; ElementType X; Position P; int N; bool flag; L = MakeEmpty(); scanf("%d", &N); while ( N-- ) { scanf("%d", &X); flag = Insert(L, X, L->Next); if ( flag==false ) printf("Wrong Answer\n"); } scanf("%d", &N); while ( N-- ) { scanf("%d", &X); P = Find(L, X); if ( P == ERROR ) printf("Finding Error: %d is not in.\n", X); else { flag = Delete(L, P); printf("%d is found and deleted.\n", X); if ( flag==false ) printf("Wrong Answer.\n"); } } flag = Insert(L, X, NULL); if ( flag==false ) printf("Wrong Answer\n"); else printf("%d is inserted as the last element.\n", X); P = (Position)malloc(sizeof(struct LNode)); flag = Insert(L, X, P); if ( flag==true ) printf("Wrong Answer\n"); flag = Delete(L, P); if ( flag==true ) printf("Wrong Answer\n"); for ( P=L->Next; P; P = P->Next ) printf("%d ", P->Data); return 0;}
List MakeEmpty(){  List L=(List)malloc(sizeof(struct LNode));  L->Next=NULL;  return L;}Position Find( List L, ElementType X ){  List p= L->Next;  while(p)  {    if(p->Data==X)    {      return p;    }    p=p->Next;  }  return ERROR;}bool Insert( List L, ElementType X, Position P ){  List q= L;  while(q)  {  if(q->Next==P)  {    List node=(List)malloc(sizeof(struct LNode));    node->Data=X;    node->Next=q->Next;    q->Next=node;    return true;  }  q=q->Next;  }  printf("Wrong Position for Insertion\n");  return false;}bool Delete( List L, Position P ){  List q=L;  while(q)  {    if(q->Next==P)    {      q->Next=q->Next->Next;      return true;    }    q=q->Next;  }  printf("Wrong Position for Deletion\n");  return false;}

 

转载于:https://www.cnblogs.com/CuteyThyme/p/10634204.html

你可能感兴趣的文章
Android 操作系统的内存回收机制
查看>>
Java程序运行过程中抛出 java.lang.OutOfMemoryError
查看>>
搜索oracle视图内容
查看>>
python优点
查看>>
oc 自定义UITableViewCell
查看>>
存储过程中调用EXECUTE IMMEDIATE的“权限不足”
查看>>
React 【ES2015】+ Babel + Gulp + Webpack
查看>>
PHP实现跨域自动登录
查看>>
oauth 开放授权
查看>>
ubuntu 下无法调试android 手机问题
查看>>
Java编程中“为了性能”需做的26件事(转载)
查看>>
理解MySQL——架构与概念
查看>>
动手探究Java内存泄露问题
查看>>
下载maven类库
查看>>
oracle权限
查看>>
在树莓派上搭建一个maven仓库
查看>>
jquery dialog 里面嵌套script内容,弹出两个弹窗
查看>>
ecmall店铺添加左侧栏目
查看>>
makefile的编写(4)
查看>>
我也来谈面向对象编程
查看>>