
数据结构
文章平均质量分 81
IT8343
这个作者很懒,什么都没留下…
展开
-
链表排序
算法:创建一个空链表sorthead,找到链表的最大值max,删除最大值这个节点并且把它插入到空链表中,重复这个步骤,最后返回sorthead。#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPs...原创 2018-06-20 14:24:07 · 215 阅读 · 0 评论 -
删除节点
无论是按序号删除节点还是按值查找删除节点,其本质都是一样的,用指针指向所要删除节点的前一个节点,使其绕过需要删除的节点,直接指向删除的节点所指向的节点(下下个节点)#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}...原创 2018-06-20 09:58:23 · 324 阅读 · 0 评论 -
按值查找链表以及后插入
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-26 22:37:45 · 287 阅读 · 0 评论 -
前插入节点
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-20 09:34:07 · 391 阅读 · 0 评论 -
按序号查找及后插入节点
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-19 21:47:36 · 384 阅读 · 0 评论 -
按值查找以及后插入
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-19 21:29:53 · 309 阅读 · 0 评论 -
按序号查找节点1.0
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-19 20:16:33 · 519 阅读 · 0 评论 -
计算链表长度
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r; *ph...原创 2018-06-19 19:48:46 · 10142 阅读 · 0 评论 -
带头节点的后插法链表
#include<stdio.h>#include<stdlib.h>typedef struct student { int num; struct student *next; }Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r;...原创 2018-06-19 19:23:47 · 244 阅读 · 0 评论 -
链表1.0后插法
#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr,*r;//,加一个指向...原创 2018-06-19 17:43:34 · 502 阅读 · 0 评论 -
带头结点的链表
#include<stdlib.h>typedef struct student{ int num; struct student *next;}Lstudent,*LPstudent;void InitLink(LPstudent *phead){ Lstudent *ptr; *phead=NULL; int n; pr...原创 2018-06-19 17:14:40 · 209 阅读 · 0 评论 -
单链表1.0
创建链表分为前插入和后插入,这里是前插入方式创建:#include<stdio.h>#include<stdlib.h>/*链表构成:头指针,若干个节点(节点包括了数据域和指针域),最后一个节点要指向空。实现原理:头指针指向链表的第一个节点,然后第一个节点中的指针指向下一个节点,然后依次指到最后一个节点,这样就构成了一条链表。头节点、首节点。在首节点前设置一个节...原创 2018-06-19 16:40:04 · 189 阅读 · 0 评论 -
创建以及遍历二叉树
#inlude<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *left,*right;}Stu,*PStu; PStu create_tree(PStu proot){ int n; scanf("%d",&n); ...原创 2018-06-22 20:20:24 · 194 阅读 · 0 评论 -
双向链表的查找、删除、插入节点
双向链表前插入无需定位到节点的前一位,因为其本身有prior指针。从根本上来讲,它和单链表是类似的:#include<stdio.h>#include<stdlib.h>typedef struct student{ int num; struct student *next; struct student *prior;}LDstudent...原创 2018-06-21 00:04:47 · 5471 阅读 · 0 评论 -
循环链表与双向链表
循环链表:最后节点的next指针不指向NULL,直接改为指向首节点就行。(循环列表不需要头节点)。#include<stdio.h>#include<stdlib.h>#include<unistd.h>typedef struct student{ int num; struct student *next;}Lstudent,*LP...原创 2018-06-20 17:10:59 · 272 阅读 · 0 评论