データ構造実験のチェーンテーブル1:チェーンテーブル(構造関数)を順次確立する
データ構造実験のチェーンテーブル1:チェーンテーブルの順序確立
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
N個の整数を入力し、入力された順序に従って単一チェーンテーブル記憶を確立し、確立された単一チェーンテーブルを巡り、これらのデータを出力する.
Input
1行目に整数の個数Nを入力する.
2行目に各整数を順次入力します.
Output
この整数セットを出力します.
Example Input
Example Output
Code realization
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
N個の整数を入力し、入力された順序に従って単一チェーンテーブル記憶を確立し、確立された単一チェーンテーブルを巡り、これらのデータを出力する.
Input
1行目に整数の個数Nを入力する.
2行目に各整数を順次入力します.
Output
この整数セットを出力します.
Example Input
8
12 56 4 6 55 15 33 62
Example Output
12 56 4 6 55 15 33 62
Code realization
#include
#include
typedef struct LNode
{
int data;
struct LNode *next;
}LNode;
//
LNode *input(int n)
{
LNode *head, *tail, *p;
head = (LNode*)malloc(sizeof(LNode));
tail = head;
for(int i=0;idata);
tail->next = p;
tail = p;
tail->next = NULL;
}
return head;
}
void output(LNode *head)
{
LNode *p;
p = head->next;
while(p)
{
printf("%d",p->data);
p = p->next;
if(p)
printf(" ");
else
printf("
");
}
}
int main()
{
LNode *head;
int n;
scanf("%d",&n);
head = input(n);
output(head);
return 0;
}
(方法2)#include
#include
typedef struct LNode
{
int data;
struct LNode *next;
}LNode;
//
void input(LNode *head, LNode *tail, int n)
{
LNode *p;
for(int i=0;idata);
tail->next = p;
tail = p;
tail->next = NULL;
}
}
void output(LNode *head)
{
LNode *p;
p = head->next;
while(p)
{
printf("%d",p->data);
p = p->next;
if(p)
printf(" ");
else
printf("
");
}
}
int main()
{
LNode *head,*tail;
int n;
scanf("%d",&n);
head = (LNode*)malloc(sizeof(LNode));
tail = head;
input(head,tail,n);
output(head);
return 0;
}