当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

高手速度来跪求数据结构用C语言编写 1创建链表 L要用到以下函数

更新:12-24 整理:39baobao.com
字体:

[c语言和数据结构]没有直接关系。 1、数据结构 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带...+阅读

以前的实验题。 #define OK 1 #define NULL 0 #define ERROR 2 #define ElemType int #include "iostream.h" #include "stdio.h" #include "stdlib.h" typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; LinkList CreateList_L(LinkList L, int n) //建立单链表 { LinkList p,q; int i; L = (LinkList) malloc (sizeof (LNode)); L->next = NULL; q=L; for (i = 1; i <=n; i++) { p = (LinkList) malloc (sizeof (LNode)); printf("input data:"); scanf("%d",&p->data); p->next = NULL; q->next = p; q=p; } return L; } int print( LinkList L) //输出链表 { LinkList p; p = L->next; if (p!=NULL) { while(p) { printf("%d ",p->data); p = p->next; } } else cout<<;"链表没有数据"<next; j=0; while(p!=NULL) { j++;p=p->next; } return j; } int CleatList_L(LinkList L) //清空链表元素 { LinkList p; while(L->next) { p=L->next; L->next=p->next; free(p); } cout<<;"数据已清空"<next; ++j; } //寻找第i-1个结点 if (!p||j > i-1) return ERROR; // i 大于表长或者小于1 s=(LinkList)malloc(sizeof(LNode)); s->data = e; s->next = p->next; // 插入L中 p->next = s; return OK; } int ListDelete_L(LinkList L, int i, ElemType &e) //在带头结点的单链表线性表L中,删除第i个元素,并由e返回其值 {LinkList p,q; int j; p = L; j = 0; while (p->next && j < i-1) { p = p->next; ++j; } // 寻找第 i 个结点,并令 p 指向其前趋 if (!(p->next) || j > i-1) return ERROR; // 删除位置不合理 q = p->next; p->next = q->next; // 删除并释放结点 e = q->data; free(q); return OK; } int GetElem_L(LinkList L,int i,char &e) // L是带头结点的链表的头指针 //当第i个元素存在时,其值赋给e并返回ok,否则返回ERROR {LinkList p;int j; p=L->next; j=1; while(p&&jnext; ++j; } if(!p||j>i)return ERROR; // 第 i 个元素不存在 e=p->data;// 取得第 i 个元素 return e; } void showmenu() { cout<<;" **********功能**********"<>n; L=CreateList_L(L,n); showmenu(); cin>>choice; while(choice!=0) { switch(choice) { case 1: cout<<;"请输入链表中元素的个数:"; cin>>n; L=CreateList_L(L,n); case 2:print(L); break; case 3: printf("length:%d ",ListLength(L)); break; case 4: CleatList_L(L); break; case 5: cout<<;"请输入您要插入元素的位置i:"; cin>>i; cout<>e; ListInsert_L(L,i,e); break; case 6: cout<<;"请输入你要删除元素的位置:"; cin>>i; ListDelete_L(L,i,n) ; break; case 7: cout<<;"输入您要查找的元素的位置:"; cin>>i; cout<<;"第"<>choice; } }

本文地址:https://www.39baobao.com/show/29_14146.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

数据结构c语言这个问题的算法要考虑周全,程序倒不复杂。以四节火车为例, 1,首先考虑四节火车进站的可能顺序有4!=24种可能。 2,出站时机有2^3=8种可能(以大写字母表入站,小写字母表出站): 出站发...

数据结构问题????数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率的算...

数据结构C语言版内容设计一个模拟计算器的程序要求能对包含加加法: #include <stdio.h> #include <stdlib.h> int main() { int a,b,c; a=1; b=2; c=a+b; printf("%d",c) system("pause") return 0; } 减法、乘法、除法都一样。把int(整数)变...

C语言的数据结构体该怎么理解啊数据结构就是自己定义的一种数据类型。这样理解比较好。 比如说int i。这样定义一个变量应该理解吧。 typedef struct Node { int data;//数据内容 struct Node* left;//左子...

c语言数据结构中结构体定义问题编译器逐行解析,在定义next之前,编译器已经知道struct student这个结构类型的存在,所以可以用它来定义next。 next是指向struct student结构的指针类型。一般像这种用法,都是用...

数据结构线性链表的C语言程序实例这是单链表的创建,取元素,添加,删除和销毁等功能实例: #include#include#define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 typedef int Status; typedef int ElemT...

用C语言实现数据结构中常用算法如对链表的操作查找排序等#include <iostream.h> class ram { public: char wenzi[200]; ram *p; }; ram wo,*ai=&wo; int num=0;//我申请了几次内存了 void xie(void);//输入数据,然后分配内存为下次做...

数据结构c语言描述链表的倒叙输出其实就是栈链,我写了个,你可以参考下 #include#includetypedef struct Node { int data; struct Node *next; }List; void Print(List *top)//打印 { List *p; p=top; while(p...

数据结构用C语言创建链表#include#includetypedef struct node *pointer; struct node { int data; pointer next; }; pointer next,null,p,L,s,q; int j,e,n,k; creater(int n) { int i; L=(struct...