单链表
题目描述:从键盘输入5个整数,将这些整数插入到一个链表中,并按从小到大次序排列,最后输出这些整数。
输入描述:输入5个整数。
输出描述:按题意输出。
C语言代码
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int Element; // 节点中的元素为整数类型
struct Node * Next; // 指向下一个节点
}node;
void bulletsort(int arr[], int len)
{
int temp;
for(int i=0;i<len-1;i++)
for (int j = 0; j < len - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
int main()
{
int num[5];
for (int i = 0; i < 5; i++)
scanf("%d ", &num[i]);
bulletsort(num, 5);
node *head=NULL, *p,*q=NULL;
for (int i = 0; i < 5; i++)
{
p = (node *)malloc(sizeof(node));
p->Element = num[i];
p->Next = NULL;
if (head == NULL) head = p; //第一个节点
else q->Next = p;
q = p;
}
for (int i = 0; i < 5; i++)
{
printf("%d ", head->Element);
head = head->Next;
}
return 0;
}
题目主要考察是否会建链表,我先用冒泡排序进行排序,在加入到链表中,用链表输出。