#包括
包括
包括
定义MAXLEN 100
类型定义整型元素;
的typedef
{
元素数据[MAXLEN];
诠释listlen;
} seqlist;
无效initial_list(seqlist * L)
{L - > listlen = 0;}
的诠释list_length(seqlist L)
{L.listlen;}
的无效get_element(seqlist L,I,元素* X)
{如果( L.listlen)cout <<“请超出范围”;
其他* X = L.data [1];
} BR />
list_locate(seqlist L,元素X)
{
我
为(i = 0;
回报(0);
}
无效list_insert(seqlist * L,元素X,I)
{
诠释J;
(L-> listlen == MAXLEN)法院<<“溢出”;
否则,如果( L-> listlen +1)cout <<“请位置误差”;
其他{(J = L-> listlen-1,J> = -1; J - )
? - >数据[J +1] = L->数据[J];
L->数据[I-1] = X;
L-> listlen + +;
} BR />
}
无效list_delete(seqlist * L,I)
{
诠释J;
(L-> listlen <= 0)cout <<“请下溢错误;
(I> L-> listlen | |我<= 0)法院<”删除位置不对“;
其他{( J = I,J listlen-1,J + +)
L->数据[J-1] = L->数据[J]。
L-> listlen - ;
}
}
无效排序(seqlist * L)
{
INT I,J;
元素温度;
(i = 1;我 listlen-1;我+ +)
为(J = 1; listlen-I; J + +)
(L - >数据[J-1]> L->数据[J])
{
TEMP = L->数据[J-1];
L->数据[J-1 ] = L->数据[J];
L->数据[J] =温度;
}
}
无效插入(seqlist * L,元素X) /> {
INT I = L-> listlen-1;
(> = MAXLEN 1)中cout <<“请溢出”;
其他{(> = 0 && L->数据[I]> X)
L->数据[i +1] = L->数据[ - ]
L->数据[i +1] = x; BR /> L-> listlen + +;
}
}
的无效list_cout(seqlist L)
{
我;
(i = 0;
法院< endl; BR />}
()
{
seqlist L1;元素E;
诠释,I,J;
(;)
{
法院<<“请选择您的操作”<< endl;
法院<<“选择”初始化“<< endl;
法院<<”选择2,创建一个序列表“<
法院<<“请选择4删除元素”<< endl;
cout <<“请选择”查找元素“ “<< endl;
法院<<”6个串行输出元素“<< endl;
法院<;”排序“<< endl;
cout <<”请选择退出“<< endl;
CIN >>
如果出口(== 0)(0);
其他开关(A)
{
情况下, 1:initial_list(L1);
2:initial_list(与L1);法院<> J;
法院<<“ “”?<<“请输入元素”;
为(i = 1; > E list_insert(L1,E,I);} BR /> list_cout(L1);突破;
情况下,7排序(L1); list_cout(L1); cout <> E,插入(& L1,E); list_cout(L1);突破;
}
}
}
帮助你做一个计划,你都没有!程序调试没有问题
希望你满意!
用户名:wang104gang
电子邮件:保密
注册时间:2006年9月11日15时45分58秒
最后登录:2006-09-11 15点45分58秒> BR />问的问题,也改变小样儿的马甲
class Fruit //抽象水果
{
public:
virtual void EatFruit()=0;
};
class Apple:public Fruit
{
public:
void EatFruit(){cout<<"Apple"<
class Pear:public Fruit
{
public:
void EatFruit(){cout<<"Pear"<
class Banana:public Fruit
{
public:
void EatFruit(){cout<<"Banana"<
class Peach:public Fruit
{
public:
void EatFruit(){cout<<"Peach"<
class FruitFactory //工厂
{
public:
Fruit *CreateFruit(int param)
{
switch(param)
{
case 1:
return new Apple();
case 2:
return new Pear();
case 3:
return new Banana();
case 4:
return new Peach();
}
}
};
class SingletonFactory //单件工厂
{
private:
static FruitFactory *Instance;
public:
SingletonFactory()
{
if(Instance==NULL)Instance =new FruitFactory();
}
Fruit *GetFruit(int param){return Instance->CreateFruit(param);}
};
以上是最简单的,其他的你可以自己改,工厂可以变成抽象工厂,构造析构自己填。