C语言数据结构与指针(4)_c语言指针结构和联合
C语言数据结构与指针(4)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言指针结构和联合”。
数据结构【第四次】实验报告
学院:
班级:
学号:
姓名:
实验四
(一)实验名称:C语言数据结构与指针
(二)实验目的:巩固复习前期所学C语言的函数参数传递、指针和结构体等知识点,加强学习数据结构语言基础。
(三)实验内容:
1)学生信息的显示,具体要求如下:
定义一个结构体描述学生信息(学号,姓名,性别,年龄,住址);
设计一个函数,用于显示单个学生信息,函数的参数为前面定义的结构体类型;
设计一个主函数,在主函数中输入学生的信息,并调用前面定义的函数进行显示(学生人数不少于5人)。
2)输入若干个整数作为数组元素值,然后按输入时顺序的就地逆置排序,最后打印出逆置后的元素值。要求用指针和动态内存分配方法实现。例如 输入:10 2 30 4 5,逆置后显示为:5 4 30 2 10。
(四)源代码:
#define MAXSIZE 100
#include #include typedef int ElemType;typedef struct {
ElemType data[MAXSIZE];int length;
} SqList;SqList l;
void InitList(SqList &L)
{
L.length = 0;} void CreatSqlist(SqList &L,int n)
{
printf(“请输入节点”);int i;for(i=0;i
} void Output(SqList &L)
{ int i;for(i=0;i
printf(“n”);} int chazhao(SqList &L,int x){ int i,k;printf(“n请输入你要查找的元素 x=?”);scanf(“%d”,&x);for(i=0;i
if(x==L.data[i])
{printf(“要查找的元素%d位于线性表第%d位上nn”,x,i+1);
k=0;
break;
} } if(k!=0)printf(“所要查找的元素%d不在线性表中”,x);return 0;} int GET(SqList &L,int i){ int m;if((iL.length)){printf(“所查找范围超出线性表长度”);return 1;} else if((i>=1)&&(i
m=L.data[i-1];}printf(“%d ”,m);return 0;} int DELETE(SqList &L,int i){ int j;if(iL.length){printf(“删除错误”);return 0;} else {
for(j=i;j
L.data[j-1]=L.data[j];
L.length--;
} return 1;} int INSERT(SqList &L,int x,int i){ int j;if(L.length>=MAXSIZE-1){printf(“over flow”);return 1;} else if((iL.length+1)){printf(“插入错误”);return 1;} else
{for(j=L.length;j>=i-1;j--)L.data[j+1]=L.data[j];L.data[i-1]=x;L.length=L.length+1;} return 0;} int main(){int n,i,k,x;InitList(l);printf(“请输入线性表的长度 ”);scanf(“%d”,&n);CreatSqlist(l,n);Output(l);
printf(“请输入你要查找的数所在的节点位置”);scanf(“%d”,&i);GET(l,i);chazhao(l,x);printf(“请输入你要删除元素的位置=?”);scanf(“%d”,&k);DELETE(l,k);Output(l);printf(“请输入你要插入的数和位置x,i=?”);scanf(“%d,%d”,&x,&i);INSERT(l,x,i);Output(l);return 0;}
(五)代码运行结果:
(六)需求分析
1、输入的形式和输出值的范围:1)输入10个整数。2)输出整个顺序线性表。
2、输出的形式:完成各种功能后的线性表。
3、程序所能达到的功能:1)所存储顺序线性表的显示、元素的查找、删除和插入。
(七)所用到的函数:
void CreatSqlist void Output Int chazhao int GET int INSERT int DELETE
(八)心得体会:
此次实验的过程中还是遇到了很多意想不到的问题,让我再一次深刻的体会到了理论和实践的差距。使我清楚的知道技术上的东西,细节更显得尤为重要和值得重视。困难虽有,但在我的努力下,最后还是成功完成了实验。总而言之,这次实验又增长了我不好知识。