C/C++ 创建链表
来源:互联网 发布:js定义数组参数的函数 编辑:程序博客网 时间:2024/05/21 09:10
面试中经常碰到要创建链表的题目,今天做个小总结:
1.创建链表(头插法)
该程序完成了建立个各节点的链表,并将链表数据初始化为整数的程序,且该链表为无头结点的链表,代码如下:
#include <math.h>typedef int datatype; //假设建立的链表数据整型数据typedef struct node //定义节点{ datatype data; struct node * next;}linklist;linklist * creat(linklist * head,int n){ linklist * p; int i; srand(time(0)); //初始化随机数种子 head=NULL; for(i=0;i<n;i++) { p=(linklist *)malloc(sizeof(linklist)); //生成一个新节点,并返回节点指针 p->data=rand()%100; //给节点数据赋初值 p->next=head; head=p; } return head;}
//VC++运行正常,输入字符型数据来创建节点,以‘#’来结束创建。#include <stdio.h>#include <math.h>typedef char datatype; //假设建立的链表数据整型数据typedef struct node //定义节点{ datatype data; struct node * next;}linklist;linklist * creatlist(linklist * head); //声明创建链表的函数 main(){ linklist * q; linklist * head; printf("请输入字符来创建链表,以'#'来结束:\n"); q=creatlist(head); while(q->next!=NULL) { printf("\n %c",q->data); q=q->next; printf("\n"); }}linklist * creatlist(linklist * head){ char ch; linklist * p; linklist * e; //定义指向尾部的指针 head=NULL; e=NULL; ch=getchar(); while('#'!=ch) { p=(linklist *)malloc(sizeof(linklist)); //生成新节点并返回节点指针 p->data=ch; //给节点数据赋初值 if(NULL==head) head=p; else e->next=p; e=p; ch=getchar(); } if(NULL!=e) e->next=NULL; return head;}
- C/C++ 创建链表
- c语言创建链表
- c语言 创建链表
- c语言实现创建链表
- c语言版创建单循环链表
- C创建链表(二)
- C语言链表的创建
- c语言创建链表总结
- C语言—链表的创建
- C语言 单向链表创建
- C语言创建链表malloc的使用(C的创建对象)
- 【语言-C++】C++、C 创建挂起进程
- C链表之创建简单静态链表
- C语言创建单向链表之正向建链
- C语言创建单向链表之逆向建链
- C语言中,链表的创建、输入、输出、链接。
- 链表的简单创建——C
- 链表的简单创建——C程序设计
- 重装虚拟机导致虚拟系统中的Oracle监听服务无法启动解决办法
- Python连接mysql数据库
- fcntl使用
- UIScrollView下对图片捏合放大缩小和双击放大缩小
- Perf -- Linux下的系统性能调优工具介绍
- C/C++ 创建链表
- 在Python3.x 中lambda中不准使用括号参数
- ASP.net 上传文件汇总
- ios scrollView中增加动画效果,自动滚动UIScrollView,利用了NSTimer
- 孙悟空写给白骨精的信
- VCM,PIEZO motor 概念
- out输出图片流在firefox下乱码问题
- 2013-6-20-js之replace
- Gallery 滚动到下一页