文章

47

粉丝

109

获赞

8

访问

29.3k

头像
单链表 题解:
P1015 贵州大学机试题
发布于2024年3月13日 21:30
阅读数 888

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct Node {
	int Element;//数据
	struct Node* Next;//存储下一个结点的地址
}Node;
void sort(int num[]) {

	for (int i = 0; i < 5; i++) {
		
		for (int j = 0; j < 5 - 1 - i; j++) {
			if (num[j + 1] < num[j]) {
				int t = num[j];
				num[j] = num[j + 1];
				num[j + 1] = t;
			}
		}
	}
}
int main() {

	int num[5];
	for (int i = 0; i < 5; i++) {
		scanf("%d", &num[i]);
	}
	sort(num);
	struct Node* p = (Node *)malloc(sizeof(Node));//建立头节点
	p->Next = NULL;//头结点指向空;
	struct Node* rear = p;//这个结点用来移动
	for (int i = 0; i < 5; i++) {
		struct Node* s = (Node*)malloc(sizeof(Node));//建立新的结点
		s->Element = num[i];
		s->Next = NULL;
		rear->Next = s;//rear此时在头节点的位置指向下一个结点s
		rear = s;//将rear移到下一个结点
	}
	while (p->Next != NULL) {
		printf("%d ", p->Next->Element);
		p = p->Next;
	}
	return 0;
}

按照大佬的改了一点点

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发