当前课程知识点:C语言程序设计(下) >  第八周:链表(二) >  8.4 链表的基本操作 >  html

返回《C语言程序设计(下)》慕课在线视频课程列表

html资料文件与下载

html

#include<stdio.h>

#include<stdlib.h>

struct  node

{ char name[20],address[20],phone[15];

struct node  * link;       /*定义node型结构指针 */

};                           /* 定义结构 */

typedef node NODE;       /* 定义结点类型 */

main() 

{

NODE * head ;

NODE * p;

p = ( NODE * ) malloc ( sizeof (NODE) ) ;  /* 开辟新存储区,申请表头节点 */

p->link = NULL; /* 将表头节点的link置为NULL*/

head = p;

int create ( NODE * head , int n );

create ( head , 2 );

int insert_node ( NODE * head , NODE * p , int i );

p = ( NODE * ) malloc ( sizeof (NODE) ) ; 

gets(p->name);

insert_node(head, p, 1);

int output ( NODE * head );

output(head);

int delete_node ( NODE * head , int i );

delete_node(head,2);

output(head);

getchar();

}

int create ( NODE * head , int n )

{ NODE * p;

for ( ;  n>0 ;  n-- )

{ p = ( NODE * ) malloc ( sizeof(NODE)) ;

  gets ( p->name);

  p->link = head->link;

  head->link = p;

}

return 0;

}

int output ( NODE * head )

NODE * p;

p = head->link;      /* p 指向第一个数据节点 */

while ( p!=NULL )

{ puts (  p->name ) ;   /* 输出 p 所指向节点的数据 */

p = p->link ; /* p 指向下一个数据节点 */

}

return 0;

}

int insert_node ( NODE * head , NODE * p , int i )

NODE * q;

  int n=0;

  for ( q = head;  n<i && q->link!=NULL; ++n )

q = q->link; /* ① 定位 */

  p->link = q->link;  /* ② 链接后面指针 */

  q->link = p; /* ③ 链接前面指针 */

return 0;

}

int delete_node ( NODE * head , int i )

{

NODE * q, * p;

  int n;

for ( n=0, q = head;  n<i-1 && q->link!=NULL; ++n )

  q = q->link;              /* ① 定位 */

if  ( i>0 && q->link != NULL )   

p = q->link;          /* p 指向被删除节点 */

q->link = p->link; /* ② 摘链 */

free ( p ); /* ③ 释放 p节点 */

}

}

下一节:html

返回《C语言程序设计(下)》慕课在线视频列表

C语言程序设计(下)课程列表:

第一周:函数(一)

-1.1 函数定义

--内容简介

--函数是什么

--例题演示

--知识点总结

-1.1 函数定义--作业

-1.2 模块化程序设计

--由生活中的例子介绍模块化概念

--模块化程序设计总结

-1.3 函数调用、声明和返回

--函数调用的过程

--函数嵌套调用

-1.4 函数间参数传递

--形参与实参值传递

--地址传递-数组名做函数参数

--函数返回语句和返回值

--小结

--html

-1.4 函数间参数传递--作业

第二周:函数(二)

-函数递归调用

--6.5.1 递归问题开场白

--6.5.2 递归定义和调用过程

--6.5.3 运行程序

--6.5.4 汉诺塔介绍

--6.5.5 汉诺塔讲解

--6.5.6 汉诺塔程序运行

--6.5.7 递归调用例题

--6.5.8 递归总结

--html

--html

--html

--html

--html

--html

-函数递归调用--作业

第三周:函数(三)

-3.1 变量存储属性

--开场

--局部变量全局变量

--静态存储与动态存储

--存储类别小结

--html

--html

--html

--html

--html

-3.1 变量存储属性--作业

-3.2 编译预处理

--编译预处理开头

--编译预处理内容

--库函数

--函数总结

--综合例子

--html

-3.2 编译预处理--作业

第四周:指针(一)

-4.1 指针的定义、初始化和引用

--本周内容简介

--从变量的地址理解指针(1)

--从变量的地址理解指针(2)

--从数据交换看指针的应用(1)

--从数据交换看指针的应用(2)

--从数据交换看指针的应用(3)

-4.1 指针的定义、初始化和引用--作业

-4.2 指针与数组

--指针与数组

--用指针变量操作数组元素

--用指针变量操作数组元素实例

--Video

-4.2 指针与数组--作业

-虚拟实验:指针的基本概念实验

第五周:指针(二)

-5.1 指针与字符串

--本周开篇介绍

--指针与字符串

--指针与字符串小结

-5.1 指针与字符串--作业

-5.2 多维数组指针

--指针与多维数组

--指针变量访问二维数组

--一维数组的指针变量

--指向数组的指针函数参数

--html

--html

--html

--html

--html

--html

--html

--html

-5.2 多维数组指针--作业

第六周:指针(三)

-6.1指针与函数

--本周开篇介绍

--指针指向函数

--返回指针值的函数

--html

--html

--html

-6.1指针与函数--作业

-6.2指针与指针

--引入指针数组

--指针数组

--二级指针

--指针内容小结

--html

--html

--html

--html

-6.2指针与指针--作业

第七周:链表(一)

-7.1 结构的概念

--Video

--Video

--Video

--Video

--html

--html

-7.1 结构的概念--作业

-7.2 结构数组

--7.2.1 结构体数组

--Video

--Video

--html

-7.2 结构数组--作业

-7.3 结构指针

--Video

--Video

--Video

--html

-7.3 结构指针--作业

-7.4 结构与函数

--Video

--html

-7.4 结构与函数--作业

-7.5 联合

--Video

--Video

--html

-7.5 联合--作业

第八周:链表(二)

-8.1 typedef自定义类型

--自定义类型

-8.1 typedef自定义类型--作业

-8.2 枚举类型

--枚举类型

-8.2 枚举类型--作业

-8.3 链表的概念

--为什么使用链表

--链表的定义和功能

-8.3 链表的概念--作业

-8.4 链表的基本操作

--创建链表的步骤

--创建链表的过程

--访问链表中的节点

--约瑟夫问题

--html

--html

-8.4 链表的基本操作--作业

第九周 文件

-9.1 文件概述

--文件概念

--文件分类

-9.1 文件概述--作业

-9.2 文件型指针

--文件结构与指针

--设备文件

--html

-9.2 文件型指针--作业

-9.3 文件的打开与关闭

--文件读写方式

--文件读写操作

-9.3 文件的打开与关闭--作业

-9.4 文件的顺序读写

--文件顺序读写及字符输入输出

--字符串输入输出

--格式化及数据块输入输出

--html

-9.4 文件的顺序读写--作业

-9.5 文件的随机读写

--文件随机读写

-9.5 文件的随机读写--作业

-9.6 文件检测

--文件检测

-9.6 文件检测--作业

-9.7 文件应用实例

--文件应用实例

--html

--html

第十周 总结与练习

-10.1 C语言知识总结

--程序调试概念

--软件测试方法

--程序跟踪调试

--C语言语法要点

--标识符及运算符

--程序设计流程

--数组、函数及指针

--结构和文件

-10.1 C语言知识总结--作业

-10.2 C语言练习

--程序设计方法

--图像合成例子

--html

期末考试复习题

-期末考试复习题

--html

期末考试复习题答案

-期末考试复习题答案

--html

html笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。