2026/4/7 3:49:20
网站建设
项目流程
西安大型网站建设公司,网站建设开发公司排名,wordpress中文企业主题下载,权威网站建设公司栈是限制在一端进行插入操作和删除操作的线性表#xff08;俗称堆栈#xff09;允许进行操作的一端称为”栈顶“另一固定端称为”栈底“当栈中没有元素时称为”空栈“特点#xff1a;后进先出#xff08;LIFO#xff09;或先进后出顺序栈是顺序表的一种#xff0c;具有顺…栈是限制在一端进行插入操作和删除操作的线性表俗称堆栈允许进行操作的一端称为”栈顶“另一固定端称为”栈底“当栈中没有元素时称为”空栈“特点后进先出LIFO或先进后出顺序栈是顺序表的一种具有顺序表同样的存储结构由数组定义配合用数组下标表示的栈顶指针top相对指针完成各种操作typedefintdata_t;/*定义栈中数据元素的数据类型*/typedefstruct{data_t*data;/*用指针指向栈的存储空间*/intmaxlen;/*当前栈的最大元素个数*/inttop;/*指示栈顶位置(数组下标)的变量*/}sqstack;/*顺序栈类型定义*/顺序栈功能代码#includestdio.h#includestdlib.h#includestring.h#includesqstack.hsqstack*stack_create(intlen){sqstack*s;if((s(sqstack*)malloc(sizeof(sqstack)))NULL){printf(malloc sqstack failed\n);returnNULL;}if((s-data(data_t*)malloc(len*sizeof(data_t)))NULL){printf(malloc data failed\n);free(s);returnNULL;}memset(s-data,0,len*sizeof(data_t));s-maxlenlen;s-top-1;returns;}intstack_push(sqstack*s,data_tvalue){if(sNULL){printf(s is NULL\n);return-1;}if(s-tops-maxlen-1){printf(stack is full\n);return-1;}s-top;s-data[s-top]value;return0;}intstack_empty(sqstack*s){if(sNULL){printf(s is NULL\n);return-1;}return(s-top-1?1:0);}intstack_full(sqstack*s){if(sNULL){printf(s is NULL\n);return-1;}return(s-tops-maxlen-1?1:0);}data_tstack_pop(sqstack*s){s-top--;return(s-data[s-top1]);}data_tstack_top(sqstack*s){return(s-data[s-top]);}intstack_clear(sqstack*s){if(sNULL){printf(s is NULL\n);return-1;}s-top-1;return0;}intstack_free(sqstack*s){if(sNULL){printf(s is NULL\n);return-1;}if(s-data!NULL){free(s-data);}free(s);return0;}头文件typedefintdata_t;typedefstruct{data_t*data;intmaxlen;inttop;}sqstack;sqstack*stack_create(intlen);intstack_push(sqstack*s,data_tvalue);intstack_empty(sqstack*s);intstack_full(sqstack*s);data_tstack_pop(sqstack*s);data_tstack_top(sqstack*s);intstack_clear(sqstack*s);intstack_free(sqstack*s);测试文件#includestdio.h#includesqstack.hintmain(intargc,constchar*argv[]){sqstack*s;sstack_create(100);if(sNULL)return-1;stack_push(s,10);stack_push(s,20);stack_push(s,30);stack_push(s,40);while(!stack_empty(s)){printf(pop: %d \n,stack_pop(s));}stack_free(s);return0;}