顺序表操作集
来源:互联网 发布:淘宝每日好店在哪里看 编辑:程序博客网 时间:2024/05/19 00:14
#include <stdio.h>#include <stdlib.h>#define MAXSIZE 5#define ERROR -1typedef enum {false, true} bool;typedef int ElementType;typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};List MakeEmpty(){ List head = (List)malloc(sizeof(struct LNode)); head->Last=-1; return head;}Position Find( List L, ElementType X ){ int i; for(i=0;i<=L->Last;i++){ if(L->Data[i]==X){ return i; } } return ERROR;}bool Insert( List L, ElementType X, Position P ){//插入的位置为负,插入的位置比最后一个元素加一还大,表满了,三种情况插入失败。 if(L->Last==MAXSIZE-1){ printf("FULL"); return false; } if(P<0 || P > L->Last+1){ printf("ILLEGAL POSITION"); return false; } int i; for(i=L->Last;i>=P;i--){ L->Data[i+1]=L->Data[i]; } L->Data[P]=X; ++L->Last; return true;}bool Delete( List L, Position P ){//空表,删除位置为空,删除位置为负数,这几种特殊情况。 if(P<0 || P > L->Last){ printf("POSITION %d EMPTY",P); return false; } int i; for(i=L->Last;i>P;i--){ L->Data[i-1]=L->Data[i]; } --L->Last; return true;}int main(){ List L; ElementType X; Position P; int N; L = MakeEmpty(); scanf("%d", &N); while ( N-- ) { scanf("%d", &X); if ( Insert(L, X, 0)==false ) printf(" Insertion Error: %d is not in.\n", X); } 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 printf("%d is at position %d.\n", X, P); } scanf("%d", &N); while ( N-- ) { scanf("%d", &P); if ( Delete(L, P)==false ) printf(" Deletion Error.\n"); if ( Insert(L, 0, P)==false ) printf(" Insertion Error: 0 is not in.\n"); } return 0;}
阅读全文
0 0
- 顺序表操作集
- 顺序表操作集
- 顺序表操作集
- PTA-顺序表操作集
- 4-2 顺序表操作集
- 4-2 顺序表操作集
- 6-1 顺序表操作集
- 6-2 PTA顺序表操作集
- 顺序表的操作
- 顺序表的操作
- 顺序表操作
- 顺序表操作
- 顺序表的操作
- 顺序表相关操作
- 顺序表操作
- 顺序表的操作
- 顺序表操作
- 顺序表相关操作
- Struts2的执行流程
- okhttp
- android ViewStub的应用
- java发展史
- Android系统性能调优工具介绍
- 顺序表操作集
- H5 手机上发短信,电话
- 实现sublime Text 3对java编译执行
- #校招常识#关于三方,两方,毁约的那些事
- uva572 Oil Deposits
- Html loading样式
- 多线程
- c++ 内联函数 (讲解的真好)
- iOS NSString常用方法