数据结构实验:线性表的顺序表示和链式表示及插入、删除、查找运算

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:01:59
用C语言完成以下实验:
实验内容及要求:
(1)分别建立包含10个数据元素的顺序线性表和链式线性表;
(2)从键盘输入一个数据元素,插入到线性表中第k(包含0号位置)个位置;
(3)从键盘输入一个数据元素关键字或位置k(包含1号位置),从线性表中删除相应数据元素;
(4)能完成查找功能;
(5)给出程序及插入、删除前和插入、删除后线性表结果。

我不会做。。。,希望有高手能帮帮忙,要C语言的啊,谢谢了

一.实验目的
熟悉线性表的表示及实现方法。掌握线性表的基本操作:插入、删除、查找等运算在链式存储结构上的运算。
二.实验内容
1.问题描述
设计一个单链表基本操作的程序
2.基本要求
编写一个程序实现单链表的各种基本运算,包括:
(1)初始化单链表;
(2)依次插入n个元素(自行编写),建立带头结点的单链表;
(3)输出单链表;
(4)计算单链表的长度;
(5)判断单链表是否为空;
(6)输出单链表的第i个元素;
(7)在第i个元素位置上插入一个数据元素;
(8)删除单链表的第i个元素。
三.实验环境
Microsoft Visual C++ 6.0
四.测试数据
自行编写测试数据进行测试

这是我的第一次上机实验课的内容来呢!
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>

struct list //结点类型
{ int data;
struct list *next;
};

struct list *head;//声明结点指针
int static length;//声明表长变量

struct list *creat_n()//创建有n个元素的链表
{
struct list *q,*p,*head=NULL;

printf("\n输入你所要创建的结点数: ");
scanf("%d",&length);
head=p=(list*)malloc(sizeof(list)); //创建一个新结点并用头指针指向它
printf("输入该结点的值: ");
scanf("%d", &p->dat