码迷,mamicode.com
首页 > 其他好文 > 详细

阿里笔试题(2015.4实习题)

时间:2015-04-10 13:34:37      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:

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"

阿里笔试题(2015.4实习题)

标签:

原文地址:http://www.cnblogs.com/luori719/p/4414261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!