算法与数据结构实验4

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(L.length >= MAX_SIZE)
return ; L.elem[L.length]=e; L.length++; return; }
//删除重复值 void DeleteElem(SeqList &L) {
int i,j; ElementType temp; for(i = 0;i < L.length-1;++i)
效果图:
q= new node;
q->data=temp;/* 数据域赋值 */
q->next=p->next;
p->next=q; p=q;/*钩链,新创建的结点总是作为最后一个结点*/
}
return (head);
}
int main() {
struct node *head,*p,*q,*s; head=create_LinkList(); p=head->next; while(p) { q = p; while(q->next)
return 0; }
#include <stdio.h>
#include<iostream>
using namespace std;
typedef struct node
{
struct node *next;
int data;
}node;
int n;
node *create_LinkList(void)/* 尾插入法创建单链表,链表的头结点 head 作为返回值
{
for(j = i + 1;j < L.length;j++) if(L.elem[i]==L.elem[j]) { for(int k = j;k < L.length;k++) L.elem[k] = L.elem[k+1]; L.length--; j--; }
} }
int main() {
{ if(p->data == q->next->data) { n--; s = q->next;
q->next = s->next; free(s); } else { q = q->next; } } p = p->next; } printf("%d\n",n); p=head->next; while(p!=NULL) { if(p->next==NULL) { printf("%d\n",p->data); } else printf("%d ",p->data); p=p->next; } return 0; }
实验题目 姓名 实验时间 实验成绩
教师评价:
□实验过程正确; □实验结果正确; 其他:
实验 4
学号专业
实验地点 实验性质
√验证性 □设计性 □综合性
□实验内容提交 □操作正确;
□实验步骤合理; □报告规范;
评价教师签名:
一、实验项目内容
补充代码 1、 代码: //线性顺序表
#include <stdio.h> #include <stdlib.h> #define MAX_SIZE 1000 //线性表存储空间的初始分配量 #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef int ElementType;//元素类型 typedef struct {
//遍历顺序表 void PrintList(SeqList &L) {
int i; for(i = 0; i < L.length; i++) {
printf("%d\t",L.elem[i]); } printf("\n"); return; }
//向表尾插入元素 void InsertList(SeqList &L,ElementType e) {
ElementType *elem;//线性表首地址 int length;//当前的长度 } SeqList;
//初始化一个空的线性表 int InitList(SeqList &L) {
L.elem = (ElementType *)malloc(sizeof(ElementType) * MAX_SIZE); if(!L.elem) exit(OVERFLOW);//overflow L.length = 0;//初始表为空表 return OK; }
*/
{
int n1,temp;
Leabharlann Baidu
node *head, *p, *q;
head=p=(node *)malloc(sizeof(node));
p->next=NULL;
/* 创建单链表的表头结点 head */
scanf("%d",&n1);
n=n1;
while (n1--)
{
scanf("%d",&temp);
SeqList list; InitList(list); int n; scanf("%d",&n); int i; ElementType temp; for(i = 0;i < n;i++) {
scanf("%d",&temp); InsertList(list,temp); } DeleteElem(list) ; printf("%d\n",list.length); PrintList(list);
相关文档
最新文档