탑승 시험(01회)
코드 #include
#include
#include
typedef struct stuInfo {
char stuName[10]; /* */
int Age; /* */
} ElemType;
typedef struct node {
ElemType data;
struct node *next;
} ListNode, *ListPtr;
ListPtr List_Init();
void List_Insert(ListPtr h, ElemType x, char ch);
void List_Destroy(ListPtr h);
ListPtr List_Merge(ListPtr La, ListPtr Lb);
void OutPut(ListPtr La);
ListPtr List_Init() {
ListPtr p;
p = (ListPtr)malloc(sizeof(ListNode));
if (p == NULL) {
exit(0);
};
p->next = NULL;
return p;
}
void List_Destroy(ListPtr h) {
ListPtr cur = h->next;
for (; cur != NULL; h = cur, cur = cur->next) {
free(h);
}
free(h);
h = NULL;
}
void List_Insert(ListPtr h, ElemType x, char ch) {//ch ''
ListPtr newNode, pre, cur;
newNode = (ListPtr)malloc(sizeof(ListNode));
if (newNode == NULL) {
exit(0);
;
}
newNode->data.Age = x.Age;
strcpy(newNode->data.stuName, x.stuName);
pre = h;
cur = h->next;
if (ch == '>') {
for (; cur != NULL && newNode->data.Age < cur->data.Age;
pre = cur, cur = cur->next)
;
} else if (ch == 'data.Age > cur->data.Age;
pre = cur, cur = cur->next)
;
}
else{
return;
}
if (cur == NULL) {
pre->next = newNode;
newNode->next = cur;
return;
}
if (newNode->data.Age == cur->data.Age) {//
if (strcmp(newNode->data.stuName, cur->data.stuName) == 0) {
return;
}
}
pre->next = newNode;
newNode->next = cur;
}
ListPtr List_Merge(ListPtr La, ListPtr Lb) {
ListPtr Lc, p;
Lc = List_Init();
for (p = La->next; p != NULL; p = p->next) {
List_Insert(Lc, p->data, '>');
}
for (p = Lb->next; p != NULL; p = p->next) {
List_Insert(Lc, p->data, '>');
}
return Lc;
}
void OutPut(ListPtr La) {
ListPtr p;
p = La->next;
printf("Name\tAge
");
while (p != NULL) {
printf("%s\t%d
", p->data.stuName, p->data.Age);
p = p->next;
}
printf("
");
}
int main(void) {
ListPtr pHeadA, pHeadB, pHeadC;
FILE *inFile;
ElemType stu;
pHeadA = List_Init();
pHeadB = List_Init();
inFile = fopen("StuInfoA.txt", "r");
if (inFile == NULL) {
return 1;
}
while (!feof(inFile)) {
fscanf(inFile, "%s\t%d", stu.stuName, &stu.Age);
List_Insert(pHeadA, stu, '
텍스트
#include
#include
#include
typedef struct stuInfo {
char stuName[10]; /* */
int Age; /* */
} ElemType;
typedef struct node {
ElemType data;
struct node *next;
} ListNode, *ListPtr;
ListPtr List_Init();
void List_Insert(ListPtr h, ElemType x, char ch);
void List_Destroy(ListPtr h);
ListPtr List_Merge(ListPtr La, ListPtr Lb);
void OutPut(ListPtr La);
ListPtr List_Init() {
ListPtr p;
p = (ListPtr)malloc(sizeof(ListNode));
if (p == NULL) {
exit(0);
};
p->next = NULL;
return p;
}
void List_Destroy(ListPtr h) {
ListPtr cur = h->next;
for (; cur != NULL; h = cur, cur = cur->next) {
free(h);
}
free(h);
h = NULL;
}
void List_Insert(ListPtr h, ElemType x, char ch) {//ch ''
ListPtr newNode, pre, cur;
newNode = (ListPtr)malloc(sizeof(ListNode));
if (newNode == NULL) {
exit(0);
;
}
newNode->data.Age = x.Age;
strcpy(newNode->data.stuName, x.stuName);
pre = h;
cur = h->next;
if (ch == '>') {
for (; cur != NULL && newNode->data.Age < cur->data.Age;
pre = cur, cur = cur->next)
;
} else if (ch == 'data.Age > cur->data.Age;
pre = cur, cur = cur->next)
;
}
else{
return;
}
if (cur == NULL) {
pre->next = newNode;
newNode->next = cur;
return;
}
if (newNode->data.Age == cur->data.Age) {//
if (strcmp(newNode->data.stuName, cur->data.stuName) == 0) {
return;
}
}
pre->next = newNode;
newNode->next = cur;
}
ListPtr List_Merge(ListPtr La, ListPtr Lb) {
ListPtr Lc, p;
Lc = List_Init();
for (p = La->next; p != NULL; p = p->next) {
List_Insert(Lc, p->data, '>');
}
for (p = Lb->next; p != NULL; p = p->next) {
List_Insert(Lc, p->data, '>');
}
return Lc;
}
void OutPut(ListPtr La) {
ListPtr p;
p = La->next;
printf("Name\tAge
");
while (p != NULL) {
printf("%s\t%d
", p->data.stuName, p->data.Age);
p = p->next;
}
printf("
");
}
int main(void) {
ListPtr pHeadA, pHeadB, pHeadC;
FILE *inFile;
ElemType stu;
pHeadA = List_Init();
pHeadB = List_Init();
inFile = fopen("StuInfoA.txt", "r");
if (inFile == NULL) {
return 1;
}
while (!feof(inFile)) {
fscanf(inFile, "%s\t%d", stu.stuName, &stu.Age);
List_Insert(pHeadA, stu, '
fghfg 45
bhkjh 98
dsfjgh 12
dfg 5
dfgrdg 77
fdgsdf 9
ftujh 87
wouero 9
dfg 5
wtwu 8
vbvxcv 66
dsfghk 18
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.