数据结构 线性表 用c语言
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 线性表 用c语言相关的知识,希望对你有一定的参考价值。
线性表的顺序存储结构及应用
1.输入一组整型元素序列,建立顺序表。
2.实现该顺序表的遍历。
3.在该顺序表中顺序查找某一元素,查找成功返回1,否则返回0。
4.判断该顺序表中元素是否对称,对称返回1,否则返回0。
5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
6.输入整型元素序列利用有序表插入算法建立一个有序表。
7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
8.编写一个主函数,调试上述算法。
1.算法1至算法7以函数形式书写,主函数实现对其的调用
2.存储定义
#define MAXSIZE 100 //表中元素的最大个数
typedef int ElemType;//元素类型
SqList;//顺序表的类型名,同教材中的定义
3.建立顺序表时可利用随机函数自动产生数据。
如果写不下,发我邮箱 466548545@qq.com
typedef int ElemType;//元素类型
typedef struct list
ElemType elem[MAXSIZE];//静态线性表
int length; //表的实际长度
SqList;//顺序表的类型名 参考技术B #include<stdio.h>
#include<stdlib.h>
#define maxsize 1024
typedef int datatype;
typedef struct
datatype data[maxsize];
int last;
sequenlist;
sequenlist* InitList()
sequenlist *L=(sequenlist*)malloc(sizeof(sequenlist));
L->last=0;
return L;
int InsertList(sequenlist* L,datatype x,int i)
int j;
if(L->last>=maxsize-1)
printf("List Overflow!\n");
return 0;
else if(i<1||i>L->last+1)
printf("Error Insert Place!\n");
return 0;
else
for(j=L->last;j>=i;--j)
L->data[j+1]=L->data[j];
L->data[i]=x;
++L->last;
return 1;
int DeleteList(sequenlist* L,int i)
int j;
if((i<1)||(i>L->last))
printf("Error Delete Place!\n");
return 0;
else
for(j=i;j<L->last;++j)
L->data[j]=L->data[j+1];
--L->last;
return 1;
int PrintList(sequenlist* L)
int i;
if(L->last<0||L->last>maxsize-1)
printf("Error List!\n");
return 0;
else if(L->last==0)
printf("Empty List!\n");
return 0;
else
printf("/****Now Printing List...****/\n");
for(i=1;i<=L->last;++i)
printf("data(%d)\t%d\n",i,L->data[i]);
printf("/****Printing Ended!****/\n");
return 1;
int LengthList(sequenlist* L)
return L->last;
int LocateList(sequenlist* L,datatype x)
int i=1;
for(;i<=L->last;++i)
if(L->data[i]==x) return i;
return 0;
void DelNodeList(sequenlist* L,datatype x)
int i;
i=LocateList(L,x);
while(i)
if(DeleteList(L,i)==0) break;
i=LocateList(L,x);
本回答被提问者采纳 参考技术C ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐
└────┘ ─────> └────┘ ─────> └────┘ ─────> └────┘ ─────> └────┘
以上是线性表
这个都不懂,也不想自己弄懂的话,劝你别学编程了,浪费时间追问
我一点都不想学啊,这是作业,我有什么办法
参考技术D 不知道C语言基础知识中:线性表的顺序、链式存储结构分别是:随机存取和顺序存取结构对吗?
不对,数组是随机存取,所有的线性表都是顺序存取结构。你想想,我要找第5个元素,用数组直接 A[4] 就找到了,而线性表就要从“头”元素开始一个一个地往后遍历,直到需要的那个,随机不了。 参考技术A 顺序表是用诸如malloc()这样的函数、申请一片固定大小、地址连续的内存,用来存储数据。但很多情况下,你的程序不知道该申请多大的内存,或许计算机里也没这么大的地址连续内存,你只能分块申请内存,地址也根本不连续,为了保证存取这些数据的次序,这些小块后面就要有个地址指针、用来指向下一块地址,这个做法就是链表。这些存储结构都可以顺序存取、随机存取,看你怎么编程了。 参考技术B 试想一下你面对一大群人,当你要找哥时
1、你一张脸一张脸的对这找,有可能众里寻他千百度,蓦然回首哥却在灯火阑珊处。
2、你喊一声哥,此时哥说,hi,我在这,哈哈!找到了,快到你无法想象。注意:不要找哥,哥只是一个传说。
以上是关于数据结构 线性表 用c语言的主要内容,如果未能解决你的问题,请参考以下文章
数据结构:用C语言创建一个具有10条学生记录的线性表并输出 数组中每个数组元素的内容为
用C语言编写链式存储结构下实现线性表的创建,插入,删除,按值查找
数据结构c语言版 使用线性表的顺序储存结构定义(静态)实现线性表的初