亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言之實現(xiàn)棧的基礎創(chuàng)建

 更新時間:2021年07月30日 08:21:43   作者:小尹同學⁣  
這篇文章主要介紹了C語言之實現(xiàn)棧的基礎創(chuàng)建,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

棧:是限定僅在表尾進行插入和刪除操作的線性表!

棧的結構定義如下:

typedef struct Stack
{
    SLDataType *base;//棧底元素的地址
    int top;//棧頂元素的位置
} Stack;

棧的初始化如下:

SLDataType initStack(Stack &S)
{
  S.base=(SLDataType*)malloc(N*sizeof(SLDataType));//申請棧元素的存儲空間
  if(S.base==NULL)
        return -1;
  S.top=0;
  return 1;
}

棧元素的輸入接口:

SLDataType pushStack(Stack &S,int e)//輸入棧的元素
{
    if(S.top==N)
        return 0;
    S.base[S.top]=e;
    S.top++;
    return 1;
}

完整代碼如下:

#include<stdio.h>
#include<stdlib.h>
#define N 30
typedef int SLDataType;
typedef struct Stack
{
    SLDataType *base;//棧底元素的地址
    int top;//棧頂元素的位置
} Stack;
SLDataType initStack(Stack &S)
{
  S.base=(SLDataType*)malloc(N*sizeof(SLDataType));
  if(S.base==NULL)
        return -1;
  S.top=0;
  return 1;
}
SLDataType pushStack(Stack &S,int e)//輸入棧的元素
{
    if(S.top==N)
        return 0;
    S.base[S.top]=e;
    S.top++;
    return 1;
}
void printStack(Stack &S)
{
    int i;
    i=0;
    while(i<S.top)
    {
        printf("%d ",S.base[i]);
        i++;
    }
    printf("\n");
}
int main()
{
    Stack S;
    int i,n,m;//n是入棧的個數(shù)
    if(initStack(S)==1)
        printf("棧初始化成功\n");
    printf("入棧的元素個數(shù)為:");
    scanf("%d",&n);
    i=1;
    printf("輸入要入棧的元素:");
    while(i<=n)
    {
        scanf("%d",&m);
        if(pushStack(S,m)==0)
        {
            printf("%d入棧失??!\n",m);
            break;
        }
        i++;
    }
    printf("棧中的元素有:    ");
    printStack(S);//打印棧中的元素
    return 0;
}

運行結果如下:

在這里插入圖片描述

到此這篇關于C語言之實現(xiàn)棧的基礎創(chuàng)建的文章就介紹到這了,更多相關C語言之棧的創(chuàng)建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++中vector容器的用法

    C++中vector容器的用法

    在c++中,vector是一個十分有用的容器。這篇文章主要介紹了C++ vector容器的用法的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • 關于C++復制構造函數(shù)的實現(xiàn)講解

    關于C++復制構造函數(shù)的實現(xiàn)講解

    今天小編就為大家分享一篇關于關于C++復制構造函數(shù)的實現(xiàn)講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++中的const和constexpr詳解

    C++中的const和constexpr詳解

    C++ const 和 constexpr 的區(qū)別呢,constexpr表示這玩意兒在編譯期就可以算出來(前提是為了算出它所依賴的東西也是在編譯期可以算出來的)。而const只保證了運行時不直接被修改(但這個東西仍然可能是個動態(tài)變量)。下面我們來詳細講解下。
    2016-01-01
  • 適合初學者的C語言數(shù)據(jù)類型的講解

    適合初學者的C語言數(shù)據(jù)類型的講解

    在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。
    2022-04-04
  • C語言實現(xiàn)斗地主的核心算法

    C語言實現(xiàn)斗地主的核心算法

    本文給大家分享的是使用C語言實現(xiàn)的斗地主游戲的核心算法,主要實現(xiàn)了面向對象設計,洗牌、發(fā)牌、判斷牌型、比較牌的大小、游戲規(guī)則等算法。通過這個斗地主小項目的練習,提高了我的面向對象設計能力,加深了對算法的理解。最近把這些設計和算法分享給大家。
    2015-03-03
  • C語言實現(xiàn)flappy bird游戲

    C語言實現(xiàn)flappy bird游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)flappy bird小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • OpenCV實現(xiàn)亂序碎片復原

    OpenCV實現(xiàn)亂序碎片復原

    這篇文章主要介紹了通過OpenCV 直方圖相似度對比,實現(xiàn)將4張打亂順序的碎片拼接復原并展示原圖。文中的示例代碼講解詳細,需要的朋友可以學習一下
    2021-12-12
  • EasyC++內部鏈接性和無鏈接性

    EasyC++內部鏈接性和無鏈接性

    這篇文章主要介紹了EasyC++內部鏈接性和無鏈接性,當我們使用static關鍵字,將變量的作用于限制在整個文件時,該變量的鏈接性為內部鏈接性,然而無鏈接性的變量其實就是在代碼塊當中使用static關鍵字創(chuàng)建的,接下來一起進入文章了解更多內容吧
    2021-12-12
  • C++如何將一個vector內容賦值給另一個vector,及swap與assign區(qū)別

    C++如何將一個vector內容賦值給另一個vector,及swap與assign區(qū)別

    在本文中,我們將主要介紹5種將一個vector內容賦值給另一個vector的方式,順便討論下swap與assign的區(qū)別,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • c++ signal實現(xiàn)發(fā)送信號

    c++ signal實現(xiàn)發(fā)送信號

    這篇文章主要為大家詳細介紹了c++ signal實現(xiàn)發(fā)送信號的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01

最新評論