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

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

typedef int Elemtype; typedef int status; #define OVERFLOW -2 #define OK 1 #define ERROR -1 #include "stdio.h" #include "stdlib.h" typedef struct LNode { Elemtype data; struct LNode *next; }*linklist; //构造链表 void Create_Lin...

#include#includestruct node{ int data; struct node *next;}; struct node *creat_linklist(){ struct node *head ,*tail,*p;int x; head=tail=NULL; printf("\n请输入一个整数: "); scanf("%d",&x); while(x!=0) { p=(struct node *)malloc(...

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 linkData { char data; struct linkData * next; }link;//单链表的定义 //初始化 ... //查找 //题目应该是链表中是否存在值为X的节点吧~ int findx(link *p,char x) { link *t=p->next; while(t){ if(t->data == x) return 1; el...

一个功能函数: #include #include typedef struct list{ int data; struct list *next; }list; void fun(list *head,int mink ,int maxk){ list *pre,*p; pre=head; p=pre->next; while(p){ if(p->data>mink&&p->datanext=p->next; p=pre->next...

#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; //变量,用于记录当前最...

//head指向链表的首节点的指针 Node * FindX(Node *head, int x) { p = head; while (p != NULL) { if (p->data == x) return p; p = p->next; } return NULL; }

..............................

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