1. 程式人生 > >棧的C語言基本操作

棧的C語言基本操作

#include <stdio.h>
#define size 50
#include <malloc.h>
#define OVERFLOW -1
#define OK 1
#define ERROR 0
typedef int elemtype;
typedef int status;
typedef struct
{
 elemtype base[size];
 int top;
}stack;
void   initstack(stack &s)
{//初始化空棧
 s.top=-1;
}
void push(stack &s,elemtype e)
{//元素進棧
 s.top++;
 s.base[s.top]=e;
}
void output(stack s)
{//output all elements in the stack s
 int i;
 for(i=s.top;i>=0;i--)
 {
  printf("%-5d",s.base[i]);
 }
}
status gettop(stack s,elemtype topelem)
{//get the top element of stack s
 topelem=s.base[s.top];
 
 return topelem;
}
void delstack(stack &s)
{//刪除棧頂元素
 s.base[s.top--]=NULL;
}
void main()
{
 stack s;
 int flag=1,e,topelem,a,temp,i;
 initstack(s);
 
 printf("十進位制轉八進位制\n請輸入一個十進位制數a=");
 scanf("%d",&a);
 temp=a;
 while(temp!=0)
 {
  i=temp%8;
  push(s,i);
  temp=temp/8;
 }
 printf("%d的八進位制程式碼為",a);
 output(s);printf("\n");
}

相關推薦

C語言基本操作

#include <stdio.h> #define size 50 #include <malloc.h> #define OVERFLOW -1 #define OK 1 #define ERROR 0 typedef int elemtype; typedef int statu

順序——9種基本操作和實現(C語言

棧是僅限定在表尾進行插入和刪除操作的線性表,九種棧的基本操作;分別是構造 銷燬 清空 棧長 棧頂 插入 刪除 遍歷。下面就是程式碼實現:  //標頭檔案 #include<stdio.h> #include<string.h> #include&l

資料結構C/C++程式碼實現 連結串列基本操作

實現棧連結串列基本操作: #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef struct linknode {     ElemType data;     stru

C++ (Stack)的基本操作

一、棧的定義:        一種可以實現“先進後出(後進先出)”的儲存結構        生活中的例子:玩具槍的子彈夾,後進來的子彈先射出。         二、

+佇列的基本操作實現(嚴蔚敏版設計思路解讀c++)

大家好,我是集美貌與才華於一身的阿俊吶,咳咳咳…不接受任何反駁,感謝你辣麼好看還來關注我,嘿嘿嘿,讓我們進入正題叭…biu~ biu~… 這篇部落格主要是我學完資料結構(嚴蔚敏版),想記錄下來以後複習用。 從零搭建起棧和佇列的操作 順序動態棧和動

Deque C語言實現 && C++ STL基本操作

Deque deque (usually pronounced like "deck") is an irregular acronym ofdouble-endedqueue. Double-ended queues are sequence containers with dynamic

C語言學習系列(四)C語言基本語法和數據類型

.html 二進制 占用 efault html pac 精度 es2017 %d 一、基本語法 C的令牌(Tokens)   C 程序由各種令牌組成,令牌可以是關鍵字、標識符、常量、字符串值,或者是一個符號。 關鍵字(保留字) auto else long swit

C語言基本數據類型

ansi 字符數組 敏捷 圓周率 一個 力量 regular 我們 AR C語言基本數據類型 在我們玩遊戲的時候,遊戲中的角色是有類型的,有敏捷型、力量型、法術型等等。同樣C語言中的數據也是有類型的,C語言中,數據類型可分為:基本數據類型,構造數據類型,指針類型,

日常學習隨筆-數組、單鏈表、雙鏈表三種形式實現結構的基本操作

ext return lse efi CA 需要 kde 當前 default 一、棧結構   棧(stack)是限制插入和刪除只能在一個位置上的表,該位置是 表的末端,叫做棧的頂(Top)。對棧的基本操作有push(進棧),pop(出棧),peak(棧頂元素),size(

C語言基本語法及原理初始:

reg 移碼 存儲 存儲類型 關鍵字 向上 取值 靜態 別名 C語言基本語法及原理初始: /* ******************************************* * 數據類型 說明數據大小

鏈式-C語言實現

amp ron truct include 數據 類型 nod lse ext 相對於順序棧的空間有限,鏈式棧的操作則更加靈活 #include<stdio.h> #include<malloc.h> typedef int SElemType

C語言基本運算子

幾大基本運算子 賦值運算子 算術運算子 關係運算符 邏輯運算子 位運算子 賦值運算子 單等號= 計算順序:從左往右 例如: double salary = 3200.0; double total = salary *2; ch

C語言檔案操作與Python檔案操作的比較

無論是在C語言中還是在Python中,對檔案的操作都是直接實現了計算機內部與外部之間的互動; 通過將資料寫入檔案可以更好地實現資料的儲存,而不會在程式結束之後資料隨之消失, 而通過檔案的讀取操作則可以更好地避免自己講大量資料的手動輸入程式。   本篇文章主要介紹C語言以

c語言基本數據類型(short、int、long、char、float、double)

current min max 而是 over c語言 常用 限定符 除了 一 C 語言包含的數據類型 short、int、long、char、float、double 這六個關鍵字代表C 語言裏的六種基本數據類型。 在不同的系統上,這些類型占據的字節長度是不

C語言高階篇 - 2.C語言操作

1、位操作符         (1)位與&         (2)位或|         (3)位取反~      

C語言基本型別

32位平臺下 C語言基本型別: 整型(int):4 位元組 取值:-231 ~ (231 - 1) 短整型(short):2 位元組 取值 :-215 ~ (215 - 1) 長整型(long):4 位元組 取值:-231 ~ (231 - 1) 浮點型 單精度型(float):4 位元組

C語言基本知識點

太久沒寫C,就容易忘,很容易和其他語言的語法混淆,故整理一篇C語言的基本知識點。 文章目錄 C程式結構 資料型別 整數型別 浮點型別 變數和常量 變數 常量 左值和

C語言檔案操作函式總結——超詳細

版權宣告 本文原創作者:谷哥的小弟 作者部落格地址:http://blog.csdn.net/lfdfhl 檔案與流 在C語言中有三種標準流: stdin(standard input stream)標準輸入流。在大多數環境中為從鍵盤輸入;scanf( )和getchar( )

C語言檔案操作 和 預編譯命令

//read檔案 int main(){ char *path = "D:\\friends.txt"; FILE *fp = fopen(path, "r"); char buff[500]; while (fgets(buff,50,fp)){ printf("%s\n", b

C語言上機操作

C 環境設定 上機操作   本地環境設定 如果您想要設定 C 語言環境,您需要確保電腦上有以下兩款可用的軟體,文字編輯器和 C 編譯器。 文字編輯器 這將用於輸入您的程式。文字編輯器包括 Windows Notepad、OS Edit command、Brief、E