C语言数据结构实验要求:建立一顺序表,实现其基本操作:1.新建一个顺序表;2.判断是否是空表;3.输入表的长度;4.输入
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 07:17:51
C语言数据结构实验
要求:
建立一顺序表,实现其基本操作:
1.新建一个顺序表;
2.判断是否是空表;
3.输入表的长度;
4.输入线性表的各个数据元素的值;
5.求当前表长;
6.取某个位序上的数据元素;
7.求某元素的前驱和后继;
8.删除某个位置上的数据元素;
9.求删除后的表长;
10.置空表;
11.销毁线性表.
实验内容
设计程序.
调试程序,并设计输入数据.
修改程序:
实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数
要求:
建立一顺序表,实现其基本操作:
1.新建一个顺序表;
2.判断是否是空表;
3.输入表的长度;
4.输入线性表的各个数据元素的值;
5.求当前表长;
6.取某个位序上的数据元素;
7.求某元素的前驱和后继;
8.删除某个位置上的数据元素;
9.求删除后的表长;
10.置空表;
11.销毁线性表.
实验内容
设计程序.
调试程序,并设计输入数据.
修改程序:
实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数
现写一段代码,函数顺序与上面一一对应,自己看吧
#define MAX 1000
#define ERROR -1
typedef int Element;
typedef struct Linear{
Element *data;
int length;
}Linear,*pLinear;
Linear create_linear(){
Linear linear;
linear.data = malloc(Element*sizeof(Element));
if( !linear.data ){
printf("shit\n");
exit(0);
}
linear.length = 0;
return linear;
}
int empty_linear( Linear linear ){
if( linear.data && linear.length > 0 )
return 0;
return 1;
}
int set_linear_length( pLinear linear int length ){
if( length > MAX || length < 1 )
return 0;
pLinear->length = length;
return 1;
}
void print_linear( Linear linear ){
int i = 0;
if( linear.data && linear.length > 0 ){
for( ; i < linear.length ; ++i )
printf("%d\t",linear.data[i];
printf("\n");
return ;
}
printf("linear empty\n");
}
int get_linear_length( Linear linear ){
return linear.length;
}
int get_element_at( Linear linear ,int pos ){
if( pos > linear.length || pos < 1 || !linear.data )
return ERROR;
return linear.data[pos-1];
}
int get_pre_next( Linear linear ,int ele ,int *pre ,int *next ){
int i = 0;
for( ; i < linear.length ; ++i ){
if( linear.data[i] == ele ){
*pre = ( i == ERROR:(linear.length==1?ERROR:linear.data[i-1]));
*next = ( i==linear.length-1?ERROR:(linear.length==1?ERROR:linear.data[i+1]));
return 1;
}
}
return 0;
}
int del_element_at( pLinear linear ,int pos ){
int i=pos;
if( pos > linear->length || pos < 1 || !linear->data )
return 0;
while( i < linear->length - 1 )
linear->data[i] = linear->data[++i];
return (--(linear->length));
}
int set_empty( pLinear linear ){
linear->length = 0;
return 1;
}
int free_linear( pLinear linear ){
free( linear->data );
linear->data = NULL;
linear->length = 0;
return 1;
}
#define MAX 1000
#define ERROR -1
typedef int Element;
typedef struct Linear{
Element *data;
int length;
}Linear,*pLinear;
Linear create_linear(){
Linear linear;
linear.data = malloc(Element*sizeof(Element));
if( !linear.data ){
printf("shit\n");
exit(0);
}
linear.length = 0;
return linear;
}
int empty_linear( Linear linear ){
if( linear.data && linear.length > 0 )
return 0;
return 1;
}
int set_linear_length( pLinear linear int length ){
if( length > MAX || length < 1 )
return 0;
pLinear->length = length;
return 1;
}
void print_linear( Linear linear ){
int i = 0;
if( linear.data && linear.length > 0 ){
for( ; i < linear.length ; ++i )
printf("%d\t",linear.data[i];
printf("\n");
return ;
}
printf("linear empty\n");
}
int get_linear_length( Linear linear ){
return linear.length;
}
int get_element_at( Linear linear ,int pos ){
if( pos > linear.length || pos < 1 || !linear.data )
return ERROR;
return linear.data[pos-1];
}
int get_pre_next( Linear linear ,int ele ,int *pre ,int *next ){
int i = 0;
for( ; i < linear.length ; ++i ){
if( linear.data[i] == ele ){
*pre = ( i == ERROR:(linear.length==1?ERROR:linear.data[i-1]));
*next = ( i==linear.length-1?ERROR:(linear.length==1?ERROR:linear.data[i+1]));
return 1;
}
}
return 0;
}
int del_element_at( pLinear linear ,int pos ){
int i=pos;
if( pos > linear->length || pos < 1 || !linear->data )
return 0;
while( i < linear->length - 1 )
linear->data[i] = linear->data[++i];
return (--(linear->length));
}
int set_empty( pLinear linear ){
linear->length = 0;
return 1;
}
int free_linear( pLinear linear ){
free( linear->data );
linear->data = NULL;
linear->length = 0;
return 1;
}
C语言数据结构实验要求:建立一顺序表,实现其基本操作:1.新建一个顺序表;2.判断是否是空表;3.输入表的长度;4.输入
C语言编程题:输入N个英文单词,建立字符串数组,按字典顺序输出这些英文单词,要求用指针实现.
数据结构中有试写一算法,实现顺序表的就地逆置
求一个C语言程序:输入正整数,要求以相反数顺序输出该数求详解
求一个C语言程序:输入正整数,要求以相反数顺序输出该数.如输入1234,输出4321.
用C语言的指针(!)实现①输入十个数字,按从小到大的顺序排序后并输出②输入十个字符,按字典顺序排序输
C语言编辑30 输入一个正整数,要求以相反的顺序输出该数.例如输入12345,输出位54321.
C语言程序:依次输入十个数、要求按照从小到大的顺序输出
求C语言编程,要求输入任意三个数,按从小到大的顺序输出.
c语言:输入3个整数,按由小到大的顺序输出(要求用指针).
c语言编程:输入一个年份,判断其是否为闰年,并输出判断结果.
遇到一个C语言问题.输入一个整数,判断其是否为素数.