博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言数据结构之线性表的基本操作
阅读量:4614 次
发布时间:2019-06-09

本文共 1312 字,大约阅读时间需要 4 分钟。

线性表的基本操作

内容:

(1)顺序表的操作

输入一组整型元素序列,建立线性表的顺序存储结构。实现该线性表的遍历。在该顺序表中查找某一元素,查找成功显示查找元素,否则显示查找失败。在该顺序表中删除或插入指定元素。 建立两个按值递增有序的顺序表,将他们合并成一个按值递增有序的顺序表。

(2)单链表的操作

输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 实现该线性表的遍历。在该单链表的第i个元素前插入一个整数。删除该单链表中的第i个元素,其值通过参数将其返回。建立两个按值递增有序的单链表,将他们合并成一个按值递减有序的单链表。要求利用原来

#include
#include
#define MAX 20#define LISTINCREMENT 10typedef struct{ int *elem; int length; int listsize;}SqList;void CreatList(SqList &L){//建立一个线性表 L.elem=(int*)malloc(MAX *sizeof(int)); if(!L.elem) return;//exit(0) L.listsize=MAX; printf("输入表的长度:"); scanf("%d",&L.length); printf("输入%d个数:",L.length); for(int i=0;i
L.length+1) return; //i的合法位置为1<=i<=ListLength(L)+1 int *p,*q; q=&(L.elem[i-1]); for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p; *q=e; /*表示从链表的第i个元素开始一直到最后一个元素往后移一位p=&L.elem[L.length-1] 意思是p赋初值为链表的最后一个元素地址,p>=q表示循环知道p
L.length)) return 0;//i的合法值为1<=i<=ListLength(L)+1 else{ int *p,*q; p=&(L.elem[i-1]); e=*p; q=L.elem+L.length-1; for(++p;p<=q;++p)*(p-1)=*p;//被删除元素之后的元素左移 --L.length; printf("元素被删除"); }return 0; } int main(){ SqList L; CreatList(L); Traverse(L); LocateElem(L,1); ListInsert(L);// ListInsert(L,3,8); Traverse(L); ListDelete(L); Traverse(L); return 0;}
的存储空间

转载于:https://www.cnblogs.com/zhuhengjie/p/5966946.html

你可能感兴趣的文章
plist文件读写,序列化与反序列化,文件的读写[xcode4.4.1]
查看>>
C# 动态调用WebService
查看>>
VSSより、指定したファイルを取得するマクロ(パス入り)
查看>>
Java 计算两个日期相差月数
查看>>
C# api 得到机器名
查看>>
转:Complete reference of all STSADM operations (with parameters) in MOSS 2007 SP1
查看>>
在oracle官网上,找到我们所需版本的jdk
查看>>
ie background repeat 出现空白
查看>>
iOS -Swift 3.0 -UILabel属性大全
查看>>
iOS开发UI篇—UITabBarController简单介绍
查看>>
Android应用程序的安装位置
查看>>
G - SDOI
查看>>
[LeetCode]Reverse Linked List
查看>>
HDU5807 Keep In Touch (BestCoder Round #86 D ) 分布式dp
查看>>
医保接口实现的基本流程
查看>>
pb数据窗口下拉数据窗口列的排序(翻译)
查看>>
Asp.net的__EVENTARGUMENT __EVENTTARGET一些参考网址
查看>>
2019春季第十二周作业
查看>>
Windows10无法打开NVIDA控制面板
查看>>
已经一周没有开锅了
查看>>