| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖
标题:编译通不过,该如何修改?
只看楼主 加入收藏
glglzb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:22
注 册:2011-10-12
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:2 
编译通不过,该如何修改?
1001. 可排序数组   
 总提交数量:  579 通过数量: 124
  
      

   
 时间限制:1秒    内存限制:256兆 题目描述
可排序数组 SortableArray定义如下:

1. 可通过成员函数pushBack插入一个元素

2.可通过成员函数sort对数组进行升序排序

3.可通过成员函printArray数输出数组

4.可排序数组SortableArray是一个模板类

5.SortableArray的实例:SortableArray<int> array( maxArraySize ) ;

(请实现SortableArray,注意在提交的代码中请不要包含 main()函数 )

输入格式
测试框架如下:

int maxSize = 10 ;

SortableArray< int > arr( maxSize ) ;

arr.pushBack( 45 ) ;

arr.pushBack( 32 ) ;

arr.pushBack( 41 ) ;

arr.printArray() ;

arr.sort() ;

arr.printfArray() ;

输出格式
45 32 41

32 41 45

 
我的代码是这样的,希望大家指正?
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
template <typename T>
class SortableArray
{
public:
    SortableArray(int a)
    {
        maxSize= a;
    }
    void pushBack(T a)
    {
        m[i]=a;
        i=i+1;
    }
    void printArray()
    {int j;
        for(j=0;j<maxSize;j++)
        {
            
            cout<<m[j]<<" ";
        
        }
        cout<<endl<<endl;
        
    }
    void sort ()
    {
        int p,q;
        for(p=1;p<maxSize;p++)
        {
            for(q=0;q<maxSize-1;q++)
            {
                T temp;
                if(m[q]>m[q+1])
                {
                    temp=m[q];
                    m[q]=m[q+1];
                    m[q+1]=temp;
                }
            }
        }
    }
    int maxSize;
    static int i;
    T m[10000];
};
template<>
int SortableArray<int>::i=0;
int main()
{
    int maxSize = 10 ;
    SortableArray< int > arr( maxSize ) ;
    arr.pushBack( 45 ) ;
    arr.pushBack( 32 ) ;
    arr.pushBack( 41 ) ;
    arr.printArray() ;
    arr.sort() ;
    arr.printArray() ;
    return 0;
}
搜索更多相关主题的帖子: 元素 如何 测试 
2012-06-09 21:17
glglzb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:22
注 册:2011-10-12
收藏
得分:0 
大家帮忙修改一下,谢谢
2012-06-10 13:50
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:20 
程序代码:
#include <iostream>
#include <list>

template<typename T>
class SortableArray {
public:
    void pushBack(const T& data) { array.push_back(data); }
    void sort() { array.sort(); }
    SortableArray(int) {};
    ~SortableArray() { array.clear(); }
    void printArray() const;
private:
    std::list<T> array;
};

template<typename T>
void SortableArray<T>::printArray() const
{
    typename std::list<T>::const_iterator iter = array.begin();
    std::cout << *iter++;
    while (iter != array.end())
        std::cout << " " << *iter++;
    std::cout << std::endl;
}

My life is brilliant
2012-06-10 16:39
快速回复:编译通不过,该如何修改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016597 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved