标签:else element style code 错误信息 printf max struct 指定
1 #include<stdio.h> 2 #include <stdlib.h> 3 #define MAXSIZE 15 4 #define false 0 5 #define true 1 6 7 typedef int Position,ElementType,bool; 8 typedef struct LNode *List; 9 struct LNode { 10 ElementType Data[MAXSIZE]; 11 Position Last; 12 }; 13 14 /* 初始化 */ 15 List MakeEmpty() 16 { 17 List L; 18 19 L = (List)malloc(sizeof(struct LNode)); 20 L->Last = -1; 21 22 return L; 23 } 24 25 /* 查找 */ 26 #define ERROR -1 27 28 Position Find( List L, ElementType X ) 29 { 30 Position i = 0; 31 32 while( i <= L->Last && L->Data[i]!= X ) 33 i++; 34 if ( i > L->Last ) return ERROR; /* 如果没找到,返回错误信息 */ 35 else return i; /* 找到后返回的是存储位置 */ 36 } 37 38 /* 插入 */ 39 /*注意:在插入位置参数P上与课程视频有所不同,课程视频中i是序列位序(从1开始), 40 这里P是存储下标位置(从0开始),两者差1*/ 41 bool Insert( List L, ElementType X, Position P ) 42 { /* 在L的指定位置P前插入一个新元素X */ 43 Position i; 44 45 if ( L->Last == MAXSIZE-1) { 46 /* 表空间已满,不能插入 */ 47 printf("表满"); 48 return false; 49 } 50 if ( P<0 || P>L->Last+1 ) { /* 检查插入位置的合法性 */ 51 printf("位置不合法"); 52 return false; 53 } 54 for( i=L->Last; i>=P; i-- ) 55 L->Data[i+1] = L->Data[i]; /* 将位置P及以后的元素顺序向后移动 */ 56 L->Data[P] = X; /* 新元素插入 */ 57 L->Last++; /* Last仍指向最后元素 */ 58 return true; 59 } 60 61 /* 删除 */ 62 /*注意:在删除位置参数P上与课程视频有所不同,课程视频中i是序列位序(从1开始), 63 这里P是存储下标位置(从0开始),两者差1*/ 64 bool Delete( List L, Position P ) 65 { /* 从L中删除指定位置P的元素 */ 66 Position i; 67 68 if( P<0 || P>L->Last ) { /* 检查空表及删除位置的合法性 */ 69 printf("位置%d不存在元素", P ); 70 return false; 71 } 72 for( i=P+1; i<=L->Last; i++ ) 73 L->Data[i-1] = L->Data[i]; /* 将位置P+1及以后的元素顺序向前移动 */ 74 L->Last--; /* Last仍指向最后元素 */ 75 return true; 76 } 77 int main() 78 { 79 List p = MakeEmpty(); 80 Insert(p,9,0); 81 Insert(p,8,1); 82 printf("%d\n",Find(p,9)); 83 printf("%d\n",Find(p,8)); 84 return 0; 85 }
标签:else element style code 错误信息 printf max struct 指定
原文地址:https://www.cnblogs.com/GoldenEllipsis/p/10296168.html