資料結構實驗二 棧(判斷字串是否中心對稱)

2021-08-15 10:05:41 字數 2027 閱讀 2887

//本檔案為第一題的標頭檔案,包含node(節點),linklist(單鏈表),seqstack(順序棧)三個類

#include

using

namespace

std;

template

struct node //node類

;template

//linklist類

class linklist

//析構函式

int length(); //求長度

t get(int i); //得到第i個元素的值

int locate(t x); //查詢值為x的元素的序號

void insert(int i,t x); //在位置i插入x

t delete(int i); //刪除第i個節點

void printlist(); //顯示元素

};template

linklist::linklist() //無引數建構函式

template

linklist::linklist(t a,int n)//有引數建構函式,元素數量為n

}template

int linklist::length()//求長度

return count;

}template

t linklist::get(int i)//得到第i個元素的值

return p->data;

}template

int linklist::locate(t x)//查詢值為x的元素的序號

return0;}

template

//在位置i插入x

void linklist::insert(int i,t x)

s=new node;

s->data=x;

s->next=p->next;

p->next=s;

}template

//刪除位置i

t linklist::delete(int i)

q=new node;int x;

q=p->next;

x=q->data;

p->next=q->next;

delete q;

return x;

}template

//輸出

void linklist::printlist()

}const

int size=10; //size為順序棧的儲存大小

template

class seqstack //seqstack類

~seqstack(){}

void push(t x); //入順序棧

t pop(); //出順序棧

int hui(t a,int n); //判斷字串是不是對稱

int dui(linklista); //判斷單鏈表的內容是不是對稱

};template

void seqstack::push(t x) //入順序棧

template

t seqstack::pop() //出順序棧

template

int seqstack::hui(t a,int n) //判斷字串是不是對稱

for(int j=0;j2;j++)

return1;}

template

int seqstack::dui(linklista) //判斷單鏈表的內容是不是對稱

for(int j=1;j<=n/2;j++)

return1;}

#include

#include"seqstack.h"

using

namespace

std;

int main()

資料結構 判定字串是否按照出棧順序

中所引用標頭檔案源自之前的一篇的完成順序棧與鏈式棧部落格。題目解析如下 本想用 0 來判定ouput陣列是否到達末尾,可是不能得到正確結果 暫用 0 插入output陣列尾端代替判定條件 if output 0 return 1 else return 0 int main int ret stac...

判斷字串是否回文(鏈棧)

鏈棧判斷字串是否中心對稱 回文 舉例 xyx,xyyx 中心對稱 xy,xyy 不中心對稱 注 1 鏈棧的頭結點不設定元素 2 不輸入 用於判空 include include using namespace std typedef char elemtype const int maxsize 1...

字串 判斷是否

字串判斷的所有 isdigit 是否全是數字 isalpha 是否全是由字母組成 返回true isalnum 是否由字母和數字組成 islower 是否都是小寫字母 isupper 是否都是大寫字母 istitle 是否英文本母首字母都是大寫 isalpha 是否全是英文 中文的漢字會被判為tru...