c語言實現順序棧的基本功能
#include<stdio.h> #include<stdlib.h> #define maxsize 100 typedef struct SqStack{ int data[maxsize]; int top; }SqStack,*pSqStack; void initSqStack(pSqStack p){ p->top=-1; printf("success"); } int SqStackEmpty(pSqStack p){ return(p->top==-1?1:0); } void push(pSqStack p,int x){ if(p->top==maxsize-1){ printf("FULL"); return; } p->data[++p->top]=x; } void pop(pSqStack p){ if(p->top==-1){ return; } printf("出棧的值:%d",p->data[p->top]); p->top--; } void printStack(pSqStack p){ while(p->top!=-1){ printf("棧元素:%d\n",p->data[p->top--]); } } void main(){ SqStack s={{1,7,5,8},3}; push(&s,9); pop(&s); printStack(&s); system("pause"); }
注意:(1).top是棧頂元素在陣列中的索引,top為-1代表空
(2).i++是先用i再加1,++i是先加1再用i
(3).順序棧的缺點是必須事先給棧分配一個大空間(maxsize),這顯然浪費儲存空間
(4).順序棧裡面的元素特點是先進後出
相關推薦
c語言實現鏈棧基本功能
typedef struct node{ int data; node *next; }Node,*pNode; typedef struct{ pNode top; int count; }LinkStack,*pLinkStack; 注意:(1).首先定義節點結構體
c語言實現順序棧的基本功能
#include<stdio.h> #include<stdlib.h> #define maxsize 100 typedef struct SqStack{ int data[maxsize]; int top; }SqStack,*pSqStac
C語言實現順序棧的基本操作
//標頭檔案內容//--------------------棧的順序儲存結構-------------------- #define STACK_INIT_SIZE 100 #define STACKINCREACE 10 typedef int Elemtype;//在
C語言實現順序棧的初始化&進棧&出棧&讀取棧頂元素
/*順序表實現棧的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define Stack_Size 50 //設棧中元素個數為50 #define OK 1 #define ERROR 0
C語言實現順序棧的括號匹配
//順序棧的使用舉例:括號的匹配 #include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE
c語言:順序棧的實現
#include<iostream> #include<stdio.h> #include<math.h> #define STACK_INIT_SIZE 100 #define STACK_INCREMENT 10 using name
C語言實現順序表的基本操作
1.定義 線性表的順序儲存是指在記憶體中用一組地址連續的儲存單元依次儲存線性表的各元素,用這種儲存形式儲存的線性表稱為順序表。也就是說,順序表以資料元素在計算機內的物理位置相鄰來表示資料元素線上性表中的邏輯相鄰關係。 2.線性表的順序儲存示意圖
C語言實現線性表基本操作
style eal struct fine fin delete class logs destroy #include <stdio.h> #include <tchar.h> #include <stdlib.h> #define
[領卓教育]用C語言實現ls以及ls-功能
各位程式設計師在自己的虛擬機器裡一定沒少執行過“ls”這個功能吧,這個程式碼就是實現了ls和ls-l功能,話不多說,上程式碼。 實現程式碼 int process_ls(char * path) { DIR * dirp; struct dire
資料結構-C語言實現順序表
#include<stdio.h> #include<stdlib.h> #define ERROR 0 #define LIST_INIT_SIZE 100 #define LISTINCREAMENT 10 #define OK 1
資料結構-C語言實現線性棧
#include<stdio.h> #include<stdlib.h> #define STACK_INIT_SIZE 100//儲存空間初始化分配量 #define STACKINCREAMENT 10//儲存空間分配增量 #defi
C語言實現鏈棧的初始化&進棧&出棧&讀取棧頂元素
/*連結串列實現棧的一系列操作*/ #include<stdio.h> #include<stdlib.h> #define OK 1 #define ERROR 0 typedef struct node { int data; struct node *
C語言實現鏈棧
link sca 函數 print urn max efi fin size 我自己寫的代碼部分: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h>
聰明的學生C語言實現(棧)
不寫初中高階這種實驗啦 直接上STL吧 /如果有不懂的話可以看看STL容器,我直接給個百度百科的連結吧https://baike.baidu.com/item/STL/70103?fr=aladdin/ 聰明的學生(實驗名稱) 一、實驗目的 掌握遞迴思想,將“聰明的學生”問題抽象出遞
資料結構 c語言實現順序佇列(輸數字入隊,字元出隊)
一.標頭檔案seqqueue.h實現 #ifndef __SEQQUEUE_H__ #define __SEQQUEUE_H__ #include<stdio.h> #include<stdlib.h> #include<stdbool.h&g
0x00資料結構——C語言實現(棧+字尾表示式計算)
0x00資料結構——C語言實現(棧) 棧的實現 /* 棧(tack)是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫做棧的頂(top)。 對棧的基本操作有Push(進棧)和Pop(出棧)。 Functions: (在連結串列中增加
用c語言實現一個strcat函式功能相同的函式
extern char *strcat(char *dest,char *src); 把src所指字串新增到dest結尾處(覆蓋dest結尾處的'\0')並新增'\0'。 #include "std
c語言:順序棧的應用(二) 判斷迴文數
#include<iostream> #include<stdio.h> #define STACK_INIT_SIZE 100 #define STACK_INCREMENT 10 using namespace std; typedef stru
用C語言實現順序表的增刪查改和逆置
在資料結構中,我們最開始接觸的就是順序表,那麼順序表是什麼呢?順序表是在計算機記憶體中以陣列的形式儲存的線性表,是指用一組地址連續的儲存單元依次儲存資料元素的線性結構。線性表採用順序儲存的方式儲存就稱之為順序表。順序表是將表中的結點依次存放在計算機記憶體中一組地
C語言實現順序佇列的初始化、入隊、出隊等操作(三)
佇列是一種只能在隊頭刪除、隊尾插入的線性表,本文實現佇列的順序結構,使用一個結構體包含隊頭指標、隊尾指標、佇列的長度這三個成員。通過malloc函式為佇列開闢一片記憶體,大小為100個單位(100*資料型別所佔位元組),將隊頭指標指向起始地址,隊尾指標也指向起始地址。佇列的