1、用一个整形数组实现一个有固定上界为100个的堆栈,实现push,pop,size方法并编写代码对堆栈进行功能测试,语言使用Java,C#或C++均可
#include<stdio.h> #include<exception> template <typename T> class CStack{ public: CStack(){len=0;}; ~CStack(); void push(const T &element); T pop(); int size(); private: T array[100]; int len; }; template <typename T> void CStack<T>:: push(const T &element){ if(len<100){ array[len]=element; len++; } else throw new exception("queue is full");; } template <typename T> T CStack<T>:: pop(){ if(len>0){ len--; return array[len]; } else throw new exception("stack is empty");; } template <typename T> int CStack<T>:: size(){ return len; } //测试代码部分 void Test(char actual, char expected) { if(actual == expected) printf("Test passed.\n"); else printf("Test failed.\n"); } int main() { CStack<char> stack; stack.push(‘a‘); stack.push(‘b‘); stack.push(‘c‘); if(stack.size()==3) printf("Test passed.\n"); else printf("Test failed.\n"); char head = stack.pop(); Test(head, ‘c‘); if(stack.size()==2) printf("Test passed.\n"); else printf("Test failed.\n"); head = stack.pop(); Test(head, ‘b‘); if(stack.size()==1) printf("Test passed.\n"); else printf("Test failed.\n"); return 0; }
2、 一个有generic的固定上界的堆栈,class Stack<T> {…}, 有push,pop,size方法。编写测试程序,并编写一个测试数据生成器,能够为测试这个堆栈生成所需的测试数据。
3、 定义broad match,一个词组的单词如果是另一个词组单词的子集,就认为是个borad match,例如对于 "a b c","a", "b c" "c a" "a b c"都匹配,而 "a d"不匹配。现有一个搜索匹配模块,输入为用户的查询来匹配一个词组字典,找到字典中所有可以和输入broad match的词组,输出预定的词组整型序号。例如"cheap iphone in china",字典中有 1. "cheap iphone", 2. "cheap mobile", 3 "china iphone",则1和3匹配。设计性能测试报告(语言描述)以完整描述述被测模块的性能,例如但不限于 "性能曲线y反映查询速度相对x变化,其他不变时的查询速度,x单位为Ux,y单位为Uy"
时间: 2024-10-08 22:04:01