线性表操作的基本应用
#include"stdio.h"
#include"stdlib.h"
#define MAXSIZE 10
#define OK 1
#define YES 1
#define NO 0
struct Sqlist
{
int a[MAXSIZE];
int length;
};
void listlength(Sqlist *list)
{
printf("线性表得长度:%d\n",list->length);
}
int emptylist(Sqlist list) //判断线性表是否为空;
{
if(list.length==0)
{
return YES;
}
else
{
return NO;
}
}
int initlist(Sqlist *list)
{
list->length=0;
return OK;
}
void listinsert(Sqlist *list,int num,int n)
{
int i;
for(i=MAXSIZE-1;i>=n;i--)
{
list->a[i]=list->a[i-1];
}
list->a[n-1]=num;
list->length ++;
}
void printlist(Sqlist list)
{
printf("数据:");
for(int i=0;i<list.length;i++)
{
printf("%3d",list.a[i]);
}
}
void clearlist(Sqlist *list)
{
list->length=0;
}
int deldata(Sqlist *list,int num,int sign)
{
int i;
for(i=0;i<list->length;i++)
{
if(list->a[i]==num)
{
for(int k=i;k<list->length;k++)
{
list->a[k]=list->a[k+1];
}
sign=1;
}
}
if(sign==1)
{
list->length --;
}
return sign;
}
void locateElem(Sqlist list,int num)
{
int i,sign,j;
for(i=0;i<list.length;i++)
{
if(num==list.a[i])
{
sign=1;
j=i+1;
break;
}
else
{
sign=0;
}
}
if(sign==1)
{
printf("%d存在,在第%d位",num,j);
}
else
{
printf("%d不存在",num);
}
}
int main()
{
struct Sqlist list;
int i;
i=initlist(&list); //初始化性表
i=emptylist(list); //判断线性表是否为空
if(i=1)
{
printf("线 性 表 为 空\n");
}
else
{
printf("线 性 表 不 为 空\n");
}
for(int j=1;j<=5;j++)
{
listinsert(&list,j,1);
}
listlength(&list); //线性表的长度
printlist(list); //显示表里得数据项;
printf("\n");
clearlist(&list);
printf("清空线性表中:\n");
i=emptylist(list);
if(i=1)
{
printf("清空成功\n");
}
else
{
printf("ERROR\n");
}
printlist(list);
printf("\n");
printf("加入新的数据项:\n");
for(int j=1;j<=10;j++)
{
listinsert(&list,j,1);
}
printlist(list);
printf("\n");
listlength(&list);
//删除数据
int sign=0,num;
printf("删除的数据:");
scanf("%d",&num);
getchar();
sign=deldata(&list,num,sign);
if(sign==0)
{
printf("删除得元素不存在");
}
else
{
printf("删除后:");
printlist(list);
}
printf("\n");
//查找某一元素是否存在
printf("输入查找得元素:");
scanf("%d",&num);
getchar();
locateElem(list,num);
}
线性表操作的基本应用相关推荐
- 【算法与数据结构实战】线性表操作-实现A并B,结果放入A中
//数据结构与算法基础题1:线性表操作,实现A并B,结果放入A中#include "stdafx.h" #include <iostream> #include < ...
- 线性表操作(线性表)
Description (线性表)请你定义一个线性表,可以对表进行"在某个位置之前插入一个元素"."删除某个位置的元素"."清除所有元素". ...
- 《大话数据结构》读书笔记-线性表
写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 3.2 线性表的定义 3.3 线性表的抽象数据类型 3.4 ...
- c语言线性表库函数大全,数据结构(C语言版)-线性表习题详解
<数据结构(C语言版)-线性表习题详解>由会员分享,可在线阅读,更多相关<数据结构(C语言版)-线性表习题详解(23页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构 ,线 ...
- [数据结构与算法] (顺序)线性表简单demo程序
1 /******************************************************* 2 * @: Project: (顺序)线性表数据结构演示 3 * @: File ...
- 【数据结构与算法】——第二章:线性表
文章目录 1.线性表 1.1 基本概念 1.2 线性表基本操作 2.线性表的顺序存储 2.1 线性表顺序存储的插入与删除 3.线性表的链式存储 3.1 单链表 3.2 静态链表 3.3 循环链表 3. ...
- 数据结构之线性表(手绘版)
目录 一,写在前面 二,线性表的定义 三,线性表的抽象数据类型 四,线性表的顺序存储结构 4.1,顺序存储的定义 4.2,顺序存储方式 4.3,数据长度与线性长度的区别 4.4,地址计算方法 五,顺序 ...
- 大话数据结构读书笔记系列(三)线性表
2019独角兽企业重金招聘Python工程师标准>>> 3.1 开场白 各位同学,大家好.今天我们要开始学习数据结构中最常用和最简单的一种结构,在介绍它之前先讲个例子. 我经常下午去 ...
- C语言——线性表 (数据结构)
对线性表操作的主体功能实现 #include<stdio.h> #include<malloc.h> #include<stdlib.h>//函数返回状态代码 #d ...
最新文章
- JQuery弹出窗口小插件ColorBox
- c# list集合根据某个字段去重_完美解决c# distinct不好用的问题
- 容器化实践金融业案例一
- [云炬创业基础笔记]第七张创业团队测试5
- 计算机软件技能高考好考么,湖北技能高考:上不了本科,优先考虑这4所一档高职...
- mysql在linux下修改存储路径
- 设计师学习HTML/CSS之路-11
- 计算机应用基础 辅助教学系统,计算机应用基础课程辅助教学及智能测评系统使用手册——网络版.docx...
- DIV高度自适应方法汇总-----摘自网友
- java 1.8 or higher_NetBeans安装提示neatbeans cannot find java 1.8 or higher
- In App Purchases 入门
- ERP软件管理持续升级 抢占产业先机
- python+pygame 最强大脑联动归位游戏
- ubuntu18.04安装tftpd服务器
- pc端常用的屏幕分辨率
- 压缩JPG图片大小而且不失真
- Java小游戏象棋开发1-界面设计
- java bigdecimal 开方_JAVA BigDecimal使用牛顿迭代法计算平方根(开方)
- linux ps aux 命令解释
- 华为OD机试 - 模拟商场优惠打折