成功,总是从一点一滴小事做起!!!
分类: C/C++
2015-09-16 23:51:04
8 FFFBBBB mushroom flysnow wang big pei little lion yu egg spring fish yello boss
输出:
yello boss
spring fish
yu egg
little lion
wang big pei
flysnow
mushroom
FFFBBBB
解题思路: 主要这个题规定了必须用单链表进行表达,所以这道题可以用头插法或者尾插法中的一种进行存储,之后从头或者从末尾进行输出即可(下例是头插法)。。。。
#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#define maxsize 110
using namespace std;
//string str[maxsize];
typedef struct node
{
char ans[maxsize];
node *link;
}linknode;
void print(linknode *&str,int &x)
{
linknode *last=str->link;
for(int k=1;k<=x;k++)
{
cout<<last->ans<<"\n";
last=last->link;
}
}
void delete_(linknode *&str)
{
linknode *free =str;
str=str->link;
while(str!=NULL)
{
delete free;
free=str;
str=str->link;
}
}
int main()
{
int n;
while(cin>>n)
{
getchar(); // 注意这里,千万不能漏掉,不然在输入数字之后敲的回车,会当做第一个字符串输入到单链表中,
// 造成错误,这里的作用就是用来读走这个回车
linknode *first=new linknode;
for(int i=1;i<=n;i++)
{
linknode *p=new linknode;
gets(p->ans);
p->link=first->link;
first->link=p;
}
print(first,n);
delete_(first);
}
}