diff --git a/ex3_1.c b/ex3_1.c index 69dd28f..e39b287 100644 --- a/ex3_1.c +++ b/ex3_1.c @@ -13,12 +13,12 @@ typedef struct { int top; // 栈顶指针 }SqStackChar; -void initStack(SqStack *L){ +void InitStack(SqStack *L){ L->top = -1; printf("\n初始化成功\n"); } int Push(SqStack *L, DataType e){ - if(L->top==MAX-1){ + if(L->top == MAX-1){ return 0; } else { L->top++; @@ -27,7 +27,7 @@ int Push(SqStack *L, DataType e){ } } int Pop(SqStack *L, DataType *e){ - if(L->top==-1){ + if(L->top ==- 1){ return 0; } else { *e=L->data[L->top]; @@ -36,7 +36,7 @@ int Pop(SqStack *L, DataType *e){ } } int GetTop(SqStack *L, DataType *e){ - if(L->top==-1){ + if(L->top == -1){ return 0; } else { *e=L->data[L->top]; @@ -44,14 +44,14 @@ int GetTop(SqStack *L, DataType *e){ } } int StackEmpty(SqStack L){ - if(L.top==-1){ + if(L.top == -1){ return 1; } else { return 0; } } int StackFull(SqStack L){ - if(L.top==MAX-1){ + if(L.top == MAX-1){ return 1; } else { return 0; @@ -59,13 +59,13 @@ int StackFull(SqStack L){ } void OutputStack(SqStack L){ printf("\n\n"); - for(int i=0;itop==MAX-1){ +int InsertStack(SqStack *L, int i, DataType e){ + if(L->top == MAX-1){ return 0; } else { // 验证位置 @@ -73,7 +73,7 @@ int insertStack(SqStack *L, int i, DataType e){ return 0; } // 将 i 及其以后的元素向后移动 1 个单位 - for(int j=L->top+1;jtop+1; jdata[j] = L->data[j-1]; } // 插入 @@ -82,11 +82,11 @@ int insertStack(SqStack *L, int i, DataType e){ return 1; } } -int DeleteList1(SqStack *L, DataType e){ - for(int i=0;itop+1;i++){ +int DeleteListData(SqStack *L, DataType e){ + for(int i=0; itop+1; i++){ if(L->data[i]==e){ // 将 i 以后的元素向前移动 1 个单位 - for(int j=i;jtop+1;j++){ + for(int j=i; jtop+1; j++){ L->data[j]=L->data[j+1]; } L->top--; @@ -95,19 +95,19 @@ int DeleteList1(SqStack *L, DataType e){ } return 0; } -int DeleteList2(SqStack *L, int i){ +int DeleteListPos(SqStack *L, int i){ // 验证位置 if(i>L->top+1 || i<0){ return 0; } // 将 i-1 以后的元素向前移动 1 个单位 - for(int j=i-1;jtop+1;j++){ + for(int j=i-1; jtop+1; j++){ L->data[j]=L->data[j+1]; } L->top--; return 1; } -char num_to_char(int n){ +char NumToChar(int n){ if(n>=0 && n<=9){ return (char)('0'+n); } else { @@ -115,7 +115,7 @@ char num_to_char(int n){ } } int PushChar(SqStackChar *L, char e){ - if(L->top==MAX-1){ + if(L->top == MAX-1){ return 0; } else { L->top++; @@ -132,12 +132,12 @@ int PopChar(SqStackChar *L, char *e){ return 1; } } -void base(SqStackChar *L, int n, int e){ +void Base(SqStackChar *L, int n, int e){ int i; char temp; // 转换 while(e){ - PushChar(L, num_to_char(e%n)); // 进栈 + PushChar(L, NumToChar(e%n)); // 进栈 e=e/n; } // 输出 @@ -152,12 +152,12 @@ void base(SqStackChar *L, int n, int e){ } printf("\n\n"); } -void huiwen(SqStackChar *L, int e){ +void Palindrome(SqStackChar *L, int e){ int i=1,n=e; char temp,temp1; // 转换 while(n){ - PushChar(L, num_to_char(n%10)); // 进栈 + PushChar(L, NumToChar(n%10)); // 进栈 n/=10; } // 比较 @@ -166,7 +166,7 @@ void huiwen(SqStackChar *L, int e){ if(i==0){ break; } else { - temp1=num_to_char(e%10); + temp1=NumToChar(e%10); e/=10; if(temp!=temp1){ i=0; @@ -186,7 +186,7 @@ int main(){ SqStackChar L2; int n,choice; DataType e; - initStack(&L1); // 初始化 + InitStack(&L1); // 初始化 for(;;){ printf("\t\t1.入栈\n"); @@ -241,7 +241,7 @@ int main(){ scanf("%d",&n); printf("请输入要插入的元素:"); scanf("%d",&e); - n=insertStack(&L1,n-1,e); + n=InsertStack(&L1,n-1,e); if(!n){ printf("插入失败,位置输入错误。\n"); } else { @@ -252,7 +252,7 @@ int main(){ case 6: printf("请输入需要删除的元素的值:"); scanf("%d",&e); - n=DeleteList1(&L1,e); + n=DeleteListData(&L1,e); if(n==0){ printf("删除失败,元素不存在。\n"); } else { @@ -263,7 +263,7 @@ int main(){ case 7: printf("请输入需要删除的元素的位置:"); scanf("%d",&n); - n=DeleteList2(&L1,n); + n=DeleteListPos(&L1,n); if(n==0){ printf("删除失败,位置不存在。\n"); } else { @@ -277,13 +277,13 @@ int main(){ scanf("%d",&e); printf("请输入需要转换成的进制:"); scanf("%d",&n); - base(&L2,n,e); + Base(&L2,n,e); break; case 9: L2.top = -1; // 初始化 printf("请输入需要判断的回文数:"); scanf("%d",&e); - huiwen(&L2,e); + Palindrome(&L2,e); break; default: break;