第三周 项目四 顺序表的应用1 (。。)
来源:互联网 发布:袁隆平害了中国人知乎 编辑:程序博客网 时间:2024/06/10 17:13
/* *Copyright (c)2015, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Apply.cpp *作 者:苏凯祺 *完成日期:2014年10月19号 *版 本 号:v1.0 *问题描述:删除元素在【x,y】之间所有的元素(x,y)只的是位置,要求算法的时间复杂度为O(n),空间复杂度为O(1)。*/ list.h#include<stdio.h>#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize]; int length;}SqList;void ListDelete(SqList *&L,int x,int y);void DispList(SqList *L);bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L)void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表list.cpp#include"list.h"#include <stdio.h>#include <malloc.h>void InitList(SqList *&L) //引用型指针{ L=(SqList *)malloc(sizeof(SqList)); //分配存放线性表的空间 L->length=0;}void CreateList(SqList *&L, ElemType a[], int n){ int i; L=(SqList *)malloc(sizeof(SqList)); for (i=0; i<n; i++) L->data[i]=a[i]; L->length=n;}bool ListEmpty(SqList *L){ return(L->length==0);}void DestroyList(SqList *&L){ free(&L);}void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n");}void ListDelete(SqList *&L,int x,int y) { int j; /* if(x>y) {j=x;x=y;y=j;} //对x,y大小顺序的改变 x=x-1;y=y-1; //逻辑顺序时使用*/ if(x<=0&&0<=y&&y<L->length-1) {for (j=0; j<L->length-y-1; j++) //将data[i..n-1]元素前移 L->data[j]=L->data[j+y+1]; L->length=L->length-y-1; } else if(0<x&&x<L->length&&y>=L->length-1) {L->length=x;} else if(x<=0&&y>=L->length-1) { L->length=0; } else if(0<x&&x<L->length&&0<y&&y<L->length-1) {for (j=x; j<L->length-1-y+x; j++) //将data[i..n-1]元素前移 L->data[j]=L->data[j+1-x+y]; L->length=L->length-y+x-1;} }main.cpp#include"list.h"int main(){ int x,y; SqList *s; ElemType z[6]= {5,8,7,2,4,9}; CreateList(s, z, 6); scanf("%d%d",&x,&y); ListDelete(s,x,y); DispList(s); return 0;}
运行结果:
知识点总结:
线性表的基本处理以及对各个函数之间的应用。
学习心得:
这个本来是我领会错了题意的,看成了位置,写的有点复杂。有不少的bug,更多的应用了单步调试,对于单步调试也是越来越精了。可能是以前对于线性表有些不解,但是自己亲身去解决这个问题的时候,很多问题就那么莫名其妙的就别解开了。虽然自己写的有点慢,但是还是会加油的!!
0 0
- 第三周 项目四 顺序表的应用1 (。。)
- 第三周 项目四 顺序表的应用(1)
- 第三周 项目四 顺序表的应用1
- 第三周项目四 顺序表的应用1
- 第三周项目四--顺序表的应用1
- 第三周 项目四 顺序表的应用2(。。)
- 第三周-项目四(2)顺序表的应用
- 第三周项目四 顺序表应用(1)
- 第三周 项目四-顺序表应用(1)
- 第三周-项目四(1)顺序表应用
- 第三周项目四(1) 顺序表应用
- 第三周项目四(1) 顺序表应用
- 第三周【项目四-顺序表应用】
- 第三周项目四 顺序表应用
- 第三周项目四顺序表应用
- 第三周 项目四 -顺序表应用
- 第三周-项目四-顺序表应用
- 第三周项目四 顺序表应用
- 指向指针的指针
- 对于线程和进程的理解
- 走出迷宫
- http://blog.sina.com.cn/u/5688833365
- Linux鸟哥私房菜学习笔记(五)
- 第三周 项目四 顺序表的应用1 (。。)
- 使用UIPickerView实现简单的城市选择器
- 模板匹配中差值的平方和(SSD)与互相关准则的关系
- 将富文本编辑器内的图片变成响应式
- mavlink http
- 我理解的机器视觉
- ZOJ 1002 Fire Net
- Python各数据类型真值对照
- LeetCode41——First Missing Positive