R/Stack.R

Defines functions Stack

Documented in Stack

#' Class Stack
#'
#' @param data
#'
#' @return
#' @export
#'
#' @examples
Stack <- function(data = NULL) {
  # ver 3.0
  nc = list(
    data <- list(),
    top <- function() {
      return(data[length(data)])
    },
    pop <- function() {
      d <- nc$top()
      data[length(data)] <- NULL
      return(d)
    },
    push <- function(e) {
      data[length(data) + 1] <- e
    },
    empty <- function() {
      data <- list()
    },
    isempty <- function() {
      return(is.null(nc$data))
    },
    main = function(data) {
      nc$data <- data
    }
  )
  nc$main(data)
  nc <- list2env(nc)
  class(nc) <- "Config"
  return(nc)
}
yanxianUCSB/yxhelper documentation built on April 20, 2020, 4:09 p.m.