Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Znajdz minimum na stosie
- */
- #include <stdio.h>
- #define MAX_STACK_SIZE 10
- struct stack_str {
- int data[MAX_STACK_SIZE];
- int top;
- } stack;
- int push(struct stack_str *stack, int data)
- {
- if(stack->top >= MAX_STACK_SIZE){
- fprintf(stderr, "Stack overflow!\n");
- return -1;
- }
- else{
- stack->top++;
- stack->data[stack->top] = data;
- return data;
- }
- }
- int pop(struct stack_str *stack)
- {
- if(stack->top <= -1){
- fprintf(stderr, "Stack is empty!");
- return -1;
- }
- else{
- int tmp = stack->data;
- stack->top--;
- return tmp;
- }
- }
- int find_min(struct stack_str stack)
- {
- if(stack.top <= -1){
- fprintf(stderr, "Stack is empty!\n");
- return -1;
- }
- else{
- int min = stack.data[0];
- int i;
- for(i = 0; i <= stack.top; i++){
- if(stack.data[i] < min)
- min = stack.data[i];
- }
- return min;
- }
- }
- int main(void)
- {
- stack.top = -1;
- push(&stack, 3);
- push(&stack, 7);
- push(&stack, 1);
- printf("Stack minimum: %d\n", find_min(stack));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement