#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
struct student
{
int stu_no;
char stu_name[6];
struct student * left;
struct student * right;
};//定义一个学生信息的结构体,里面有学生的学号,学生的姓名以及两个结构指针
int get_stu_no()//获取一个随机数,即产生学号
{
return rand()%20;
}
char * get_stu_name()//获取随即的5个字符的学生姓名
{
int j;
static char sname[6]={0};//定义一个静态数组,在该函数运行结束以后分配给该数组的内存不会收回,数据不会丢失
for(j = 0;j < 5;j++)
{
sname[j] = rand()%26 + 97;
}
return sname;
}
//创建双链表,并把随即取到的学号姓名传入双链表
struct student * Creat_List()
{
printf("...创建双链表...");
struct student * last_student,* head;
int i;
//创建头节点,并把随即取到的学号、姓名传入头节点
struct student * p;
p = (struct student *)malloc(sizeof(struct student));
if(p == NULL)
return 0;
head = p;
head->left = NULL;
head->right = NULL;
head->stu_no = get_stu_no();
strncpy(head
用C语言编写一个双链表,每个结点存储学生的编号以及姓名,遍历这个双链表,并将学号按照从小到大进行排序
最新推荐文章于 2024-05-01 16:12:25 发布