提交与自己学号相邻的两位同学的学号与一门考试成绩,编程建立由这三组数据结点组成的简单链表
样例输入
201 98 202 94 203 89
样例输出
[num=201,score=98]
[num=202,score=94]
[num=203,score=89]
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
int num;
int score;
struct Node *next;
}Node,*Linklist;
void initLinklist(Linklist &l)
{
l=(Node *)malloc(sizeof(Node));
l->next=NULL;
}
void add(Linklist &l,int i,int num,int score)
{
Node *p;
int j=0;
p=l;
for(;j<i-1;j++)
{
p=p->next;
}
Node *s;
s->num=num;
s->score=score;
s->next=p->next;
p->next=s;
printf("%d %d",s->num,s->score);
}
int main(){
Linklist L;
initLinklist(L);
int num,score;
int i;
for(i=1;i<=3;i++)
{
scanf("%d,%d",&num,&score);
add(L,i,num,score);
}
}
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int num;
int score;
struct Node *next;
} Node, *Linklist;
void initLinklist(Linklist &l) {
l = (Node *)malloc(sizeof(Node));
l->next = NULL;
}
void add(Linklist &l, int i, int num, int score) {
Node *p;
int j = 0;
p = l;
for (; j < i - 1; j++) {
p = p->next;
}
Node *s = (Node *)malloc(sizeof(Node));
s->num = num;
s->score = score;
s->next = p->next;
p->next = s;
}
void printLinklist(Linklist &l) {
Node *p = l->next;
while (p) {
printf("[num=%d,score=%d]\n", p->num, p->score);
p = p->next;
}
}
void destroyLinklist(Linklist &l) {
Node *p = l;
while (p) {
Node *q = p;
p = p->next;
free(q);
}
l = NULL;
}
int main() {
Linklist L;
initLinklist(L);
int num, score;
int i;
for (i = 1; i <= 3; i++) {
scanf("%d%d", &num, &score);
add(L, i, num, score);
}
printLinklist(L);
destroyLinklist(L);
return 0;
}
数据结构对单链表进行数据排序 http://bbs.csdn.net/topics/392201633