snrg.net
当前位置:首页 >> 数据结构与算法 编写程序 建立单链表,插入,删除... >>

数据结构与算法 编写程序 建立单链表,插入,删除...

void CreateList_L(LinkList &L,int n){ //正位序输入n个元素的值,建立带表头结点的单链表L L= (LinkList)malloc(sizeof(LNode)); L->next=NULL; r=L; //尾指针r指向头结点 for(i=0;idata); //输入元素值 s->next=NULL; r->next=s; //插入到表...

1)初始化指针p和q,分别指向链表中相邻的两个元素; 2)当p->next不为空时,做如下处理: ①若相邻两元素不相等时,p和q都向后推一步; ②否则,当相邻元素相等时,删除多余元素。 【算法源代码】 void Delete_Equal(LinkList *L) { p=(*L)->next...

链表的存储结构的定义 typedef struct LNode { ElemType data; // 数据域 struct Lnode *next; // 指针域 (因为指针域指向的结点的类型就是struct Lnode) } LNode, *LinkList; LinkList L; // L 为单链表的头指针 //删除第i个结点 Status Dele...

#include #define TURE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status;//Status是函数的类型,其值是函数结果状态代码 typedef int ElemType;//数据元素的类型 typedef struct...

//删除单链表中最大元素 Del-max(link a){ int tmp; element *p; element *max; p=a; //指针,用于遍历链表,取数与当前最大结点值比较 max=a; //指针,用于记录最大元素所在位置(未考虑有多个最大元素) tmp=p->data; //变量,用于记录当前最...

/* 供参考! */ # include "stdio.h" # include "stdlib.h" # include "malloc.h" typedef int ElemType; typedef int Status; typedef struct LNode { ElemType data; LNode * next; } * LinkList; Status equal(ElemType c1, ElemType c2) { i...

void exchange(LinkList L, int x, int y) { LinkList p = L->next; while (p != NULL) { if (p->data == x) { p->data = y; } p = p->next; } }

请将代码图照清晰,代码太小看不清楚

思路:用两个指针p,q,用指针p去扫描这个链表,q紧随p之后直到p节点的值为x为止 则在p之前插入即为在q之后插入 typedef strutc list { type data; struct list *next; }*NODE;//定义链表的类型 void insert_front(NODE head,type x) {//在x之前插...

//这是数据对象 typedef struct node{ char name;//这是元素的值 struct node *next;}Node; //下面是算法 int Out_Node(Node *H){int i=0;//i表示结点的个数 Node *p;p=H;while(p){printf("%c",p->name);//输出元素的值p=p->next;i++;} return i;}

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com