数据结构实验之结构体与共同体

发布 2019-07-11 11:08:17 阅读 5317

实验三;结构体和共用体。

#include<>

#include<>

typedef char elemtype;

typedef struct node

r->next=null;

return h;

void listinsert(linklist l,int i,elemtype e)

if(!p||j>i-1)

s=(linklist)malloc(sizeof(lnode));

s->data=e; s->next=p->next;

p->next=s;

void listdelete(linklist l,int i,elemtype *e)

if(!(p->next)||j>i-1)

q=p->next; p->next=q->next;

e=q->data; free(q);

void locateelem_by_unmber(linklist l,int i,elemtype *e)

if(!(p->next)||j>i-1)

e=p->next->data;

int locateelemtype_by_value(linklist l,elemtype e)

if(p) return j;

else return 0;

void listinvert(linklist l)

void output(linklist l)

printf("");

main()

linklist l; int i; elemtype e;

l=createlist();printf("");

printf("输入的字符为:")output(l);

printf("");

printf("输入一字符和一位置的序号,将把此字符插入到该位置 ")

e=getchar();scanf("%c%d",&e,&i);

listinsert(l,i,e);

printf("在%2d 号位上插入了字符%2c 后的数据为:",i,e); output(l);

printf("");

printf("输入一位置的序号,将删除该位置上的字符 ")

scanf("%d",&i);

listdelete(l,i,&e);

printf("删除%2d 号位上的字符%2c 后的数据为:",i,e); output(l);

e=getchar();printf("");

listinvert(l);

printf("上面的数据经逆置后为:")output(l);

printf("");

printf("输入一个位置,将查询该位置上的字符 ")

scanf("%d",&i);

locateelem_by_unmber(l,i,&e);

printf("%d号位上的字符为:%c",i,e);

printf("");

printf("输入一个字符,将查询上面的数据中是否存在该字符 ")

e=getchar();scanf("%c",&e);

i=locateelemtype_by_value(l,e);

if(i) printf("字符%2c 在上面数据的第%2d 个位置",e,i);

else printf("上面的数据中不存在字符%c",e);

数据结构实验八内部排序

1 掌握内部排序的基本算法 2 分析比较内部排序算法的效率。1.运行下面程序 include include define max 50 int slist max 待排序序列 void insertsort int list,int n void createlist int list,int n...

数据结构实验四数组的运算

实验四数组的运算。实验目的 掌握稀疏矩阵的压缩存储方法及主要运算的实现。实验内容与要求 设计一个稀疏矩阵计算器,要求能够 输入并建立稀疏矩阵 输出稀疏矩阵 执行两个矩阵相加 执行两个矩阵相乘 求一个矩阵的转置矩阵 求一个矩阵的逆矩阵 选做 算法设计 include define maxsize 10...

数据结构实验二叉树

下列程序中的统计二叉树结点的函数,是对二叉树遍历方法的应用,请认真理解然后模仿练习。二叉树的建立与遍历 include include typedef int etype typedef struct bitnode 树结点结构体 bitnode 函数原形声明 bitnode creat bt1 b...