C
JUVETUS
这个作者很懒,什么都没留下…
展开
-
C语言数据结构二:线性表之单链表的实现
本次不给出头文件和main主函数了。可以参考之前的C语言数据结构一,线性表之单链表的实现。下面给出具体的方法函数的实现:#include "linklist.h"void InitList(List *list){ //分配空间 list->first = list -> last = (Node*)malloc(sizeof(Node)); assert(list->first!=NULL); //初始化几个数据域 list->原创 2020-08-18 14:51:24 · 185 阅读 · 1 评论 -
C语言数据结构一:线性表之顺序表的实现
seqlish.h:头文件#include <stdio.h>#include <malloc.h>#include <assert.h>#define SEQLIST_INIT_SIZE 8#define INC 3typedef int ElemType;typedef struct SeqList{ ElemType *base; int capacity; int size;}SeqList;void InitSe原创 2020-08-13 21:00:57 · 221 阅读 · 0 评论 -
C语言实现链表的增加和删除
上一篇博文实现了链表的getbuid方法,它获得序号,返回该序号对应的结点。增加思路:后插法:在前结点的后面插入结点,遵循先连接后断开的原则。遍历到插入位置的前面,即n-1的结点处,将新结点连接到n-1结点的后继结点,再将n-1结点的连接改成到新结点。简单如下:(新结点为newnode)node *p= getbyid(n-1);newnode->next = p-&g...原创 2019-11-30 15:37:20 · 777 阅读 · 0 评论 -
c语言实现链表的按序查询
思路:按序号查找,需要自己给遍历次数加上序号,因为链表本身不带序号。序号遍历到了则返回结点。node getbyid(listnode &h,int i){ //判i的合法 if(i<=0) return null; //初始化一个序号来遍历 int j=1; //获得第一个元素 h = h->next; ...原创 2019-11-30 15:29:45 · 423 阅读 · 0 评论 -
c语言实现链表的按值查询
按值查询思路:从头指针开始遍历整个链表,发现比对上的值,则返回序号。//按值查找返回序号,注意需要判空int findbyelemdata(linklist &h,int val){ //因为链表本身没有存储序号,所以需要我们自己根据遍历次数调整序号 int xh=1;//这个是序号记录变量,初始化为1 //当val等于结点的值表示查找成功,结束 ...原创 2019-11-30 15:24:40 · 1051 阅读 · 0 评论 -
C语言实现尾插法建立链表
思路:尾插法,就是从链表最后一个结点开始进行插入初始的数据来建立链表,故而肯定需要一个指针时刻指向尾部,从而确保能够从每次都只耗费O(1)的时间来初始化每一个用户录入的元素。因为如果你不这么做的话,那么你试图每次从尾部插入元素,你都得从头指针指向的头结点开始遍历,这样的话,你需要初始化的数据越多,那么你的效率就越慢。结构体://链表的结构体typedef struct node{ ...原创 2019-11-30 15:12:58 · 5327 阅读 · 0 评论 -
C语言实现单链表头插法
//链表结构//a是数据域//node是指针域//typedef是结构体简化语句//node用于后面初始化空间的时候取结构体的占用空间大小//listnode是整个链表的头指针指向,即指向链表的头结点的指针typedef struct node(){ int a; node *next;}node,*listnode;//头插法初始化链表//思想是将头节点初始化,还要将...原创 2019-11-28 16:12:26 · 2718 阅读 · 0 评论 -
数据结构考研复习视频练习一:线性表相关
原创 2019-06-08 20:59:06 · 149 阅读 · 0 评论