C语言跪求!!:输入一个字符序列,生成带头结点的单链表,输入0表示结束,例如输入1230,则生成的
答案:1 悬赏:20
解决时间 2021-02-18 06:26
- 提问者网友:蓝莓格格巫
- 2021-02-17 13:23
C语言跪求!!:输入一个字符序列,生成带头结点的单链表,输入0表示结束,例如输入1230,则生成的
最佳答案
- 二级知识专家网友:街头电车
- 2021-02-17 14:03
#include
#include
typedef struct LinkNode {
char elem;
struct LinkNode *next;
}LinkList, *PLinkList;
void Create(PLinkList first) {
LinkNode *newNode, *last = first;
char data;
scanf("%c", &data);
while(data != '0') {
newNode = (LinkNode *) malloc (sizeof(LinkNode));
newNode->elem = data;
last->next = newNode;
last = newNode;
scanf("%c", &data);
}
last->next = NULL;
}
LinkNode* Locate(PLinkList first, int k) {
LinkNode *p, *q;
int count = 0;
q = first->next;
while(q) {
count++;
if(count == k) break;
q = q->next;
}
p = first;
while(q) {
p = p->next;
q = q->next;
}
if(p == first)
p = NULL;
return p;
}
int main( ) {
PLinkList first, p;
int k;
first = (LinkNode*) malloc (sizeof(LinkNode));
Create(first);
scanf("%d", &k);
p = Locate(first, k);
if(p)
printf("%c\n", p->elem);
else
printf("Overflow\n");
return 0;
}
#include
typedef struct LinkNode {
char elem;
struct LinkNode *next;
}LinkList, *PLinkList;
void Create(PLinkList first) {
LinkNode *newNode, *last = first;
char data;
scanf("%c", &data);
while(data != '0') {
newNode = (LinkNode *) malloc (sizeof(LinkNode));
newNode->elem = data;
last->next = newNode;
last = newNode;
scanf("%c", &data);
}
last->next = NULL;
}
LinkNode* Locate(PLinkList first, int k) {
LinkNode *p, *q;
int count = 0;
q = first->next;
while(q) {
count++;
if(count == k) break;
q = q->next;
}
p = first;
while(q) {
p = p->next;
q = q->next;
}
if(p == first)
p = NULL;
return p;
}
int main( ) {
PLinkList first, p;
int k;
first = (LinkNode*) malloc (sizeof(LinkNode));
Create(first);
scanf("%d", &k);
p = Locate(first, k);
if(p)
printf("%c\n", p->elem);
else
printf("Overflow\n");
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯