如何创建一个链表
2013-12-11 21:58
330 查看
链表是一种常见的重要的数据结构,它是动态的进行内存存储分配的一种结构。
用数组存放数据时,必须事先定义固定的长度(即元素个数),但是事先难以确定有多少个元素时,则必须把数组定义的足够大,以保证成功。
无疑,这会造成内存浪费,然而,链表则没有这种缺点,它可以根据需要,动态开辟内存单元。
链表中的各个元素在内存中是可以不是连续存放的,但是要找到某一元素,必须知道它的地址,这就需要链表必须有一个头指针(head)。
用数组存放数据时,必须事先定义固定的长度(即元素个数),但是事先难以确定有多少个元素时,则必须把数组定义的足够大,以保证成功。
无疑,这会造成内存浪费,然而,链表则没有这种缺点,它可以根据需要,动态开辟内存单元。
链表中的各个元素在内存中是可以不是连续存放的,但是要找到某一元素,必须知道它的地址,这就需要链表必须有一个头指针(head)。
#include <stdlib.h> #include <stdio.h> #define NULL 0 #define LEN sizeof(struct student) struct student { long num; float score; struct student *next; }; int n; struct student *creat(void) { struct student *head; struct student *p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN); scanf(“%ld,%f”,&p1->num,&p1->score); head=NULL; while(p1->num != 0) { n=n+1; if(n == 1) head = p1; else p2->next = p1; p2 = p1; p1 = (struct student *)malloc(LEN); scanf(“%ld,%f”,&p1->num,&p1->score); } p2->next = NULL; return(head); } void main() { creat(); }
相关文章推荐
- C:链表的操作(一),如何创建一个链表
- 如何创建一个链表
- 如何创建一个链表(链栈:二)
- C:链表的操作,如何创建一个链表并打印
- 如何创建一个链表(链栈:一)
- 简单教程:如何创建一个基于金山卫士界面库的工程
- 如何用nodejs创建一个webservice
- Linux下如何利用QtCreator下创建一个界面程序
- 如何使用Core Text创建一个简单的杂志图书App
- 【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
- 用 echo 创建文件内容时,如何避免尾部的多出来的一个空格
- 如何使用angularjs创建一个单页面的web应用程序
- Jquery,css如何创建一个悬浮的广告页面?
- 如何创建一个可以由rundll32.dll调用的动态库
- 2 yii2.0 如何创建一个应用
- 如何创建一个静态库文件,并打包在模拟器和真机上都可以使用。
- SQL Server 2008 如何创建一个登录名
- [寒江孤叶丶的CrossApp之旅_05][入门系列]CrossApp如何创建一个新的window(窗口)
- 如何创建一个Spark图标按钮和皮肤
- 如何用C#为SQL Server数据库创建一个新表?