Data Structures and Algorithms (English) - 6-2 Two Stacks In One Array(20 分)

简介: Data Structures and Algorithms (English) - 6-2 Two Stacks In One Array(20 分)

题目链接:点击打开链接

题目大意:略。

解题思路:略。

AC 代码

StackCreateStack(intMaxElements)
{
Stackp=(Stack)malloc(sizeof(structStackRecord));
p->Array=(int*)malloc(MaxElements*sizeof(int));
p->Top1=-1;
p->Top2=MaxElements;
p->Capacity=MaxElements;
returnp;
}
intIsEmpty(StackS,intStacknum)
{
if(Stacknum==1)
    {
if(S->Top1==-1) return1;
return0;
    }
else    {
if(S->Top2==S->Capacity) return1;
return0;
    }
}
intIsFull(StackS)
{
if(S->Top2-S->Top1==1) return1;
return0;
}
intPush(ElementTypeX, StackS, intStacknum)
{
if(IsFull(S)) return0;
if(Stacknum==1) S->Array[++(S->Top1)]=X;
elseS->Array[--(S->Top2)]=X;
return1;
}
ElementTypeTop_Pop(StackS,intStacknum)
{
if(IsEmpty(S,Stacknum)) returnERROR;
if(Stacknum==1) returnS->Array[(S->Top1)--];
elsereturnS->Array[(S->Top2)++];
}
/*Operation GetOp(){char s[111];scanf("%s",s);if(!strcmp(s,"Push")) return push;if(!strcmp(s,"Pop")) return pop;if(!strcmp(s,"End")) return end;}void PrintStack(Stack S,int Stacknum){while(!IsEmpty(S,Stacknum))printf("%d ",Top_Pop(S,Stacknum));puts("");}*/
目录
相关文章
LeetCode 167 Two Sum II - Input array is sorted(输入已排序数组,求其中两个数的和等于给定的数)
给定一个有序数组和一个目标值 找出数组中两个成员,两者之和为目标值,并顺序输出
136 0
LeetCode之Two Sum II - Input array is sorted
LeetCode之Two Sum II - Input array is sorted
134 0
LeetCode 167:两数之和 II - 输入有序数组 Two Sum II - Input array is sorted
公众号: 爱写bug(ID:icodebugs) 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
1035 0
|
移动开发
[LeetCode] Two Sum II - Input array is sorted
Problem Description: Given an array of integers that is already sorted in ascending order, find two numbers such that they add up to a specific target number.
1058 0
|
3月前
|
测试技术 PHP 开发者
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
PHP 数组查找:为什么 `isset()` 比 `in_array()` 快得多?
|
7月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList<>()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
413 1
Java 中数组Array和列表List的转换
|
7月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~