数据结构实验一 程序开发环境及算法的时间复杂度

简介: 数据结构实验一 程序开发环境及算法的时间复杂度

一、实验目的

1.熟悉C语言的上机环境,进一步掌握C语言的结构特点;

2.复习数组及指针的定义及C语言实现;

二、实验设备

Windows计算机(含Visual C++ 6.0)。

三、实验内容及步骤

(一)实验内容

数组中元素的插入及删除。并分析其时间复杂度。

(二)实验步骤

1.建立数组a[10]={21,23,14,5,56,17,31},并输出该表中各元素的值及数组的实际长度。

2.在第3个位置插入元素68,并输出数组元素。

3.删除第6个数组元素56,并输出数组元素,要求用指针操作实现。

1. #include "stdio.h"
2. void main()
3. {
4.  int as(int a[],int n);
5.  int ad(int a[],int n);
6.  int i,*p;
7.  int a[10]={21,23,14,5,56,17,31};
8.  p=a;  printf("输出各元素:");
9.  for(i=0;i<7;i++,p++)  printf("%d ",*p);
10.   while(a[i]!=0)  {i++;}
11.   printf("\n数组长度为:%d",i);
12.   as(a,10);  printf("\n插入后元素:");
13.   for(i=0;i<10;i++)  printf("%d ",a[i]);
14.   ad(a,10);  printf("\n删除后元素:");
15.   for(i=0;i<10;i++)  printf("%d ",a[i]); 
16. } 
17.     int as(int a[],int n)
18.     {int b=68,i,*k;
19. for(i=2;i<10;i++){*k=a[i];a[i]=b;b=*k;}
20. return 0;}
21.   int ad(int a[],int n)  
22.   {int i,*j;j=a;
23.   for(i=5;i<8;i++){*(j+i)=*(j+i+1);}
24.   return 0;
25.   }
目录
相关文章
|
22天前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
58 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
27天前
|
机器学习/深度学习 缓存 算法
Python算法设计中的时间复杂度与空间复杂度,你真的理解对了吗?
【10月更文挑战第4天】在Python编程中,算法的设计与优化至关重要,尤其在数据处理、科学计算及机器学习领域。本文探讨了评估算法性能的核心指标——时间复杂度和空间复杂度。通过详细解释两者的概念,并提供快速排序和字符串反转的示例代码,帮助读者深入理解这些概念。同时,文章还讨论了如何在实际应用中平衡时间和空间复杂度,以实现最优性能。
56 6
|
19天前
|
搜索推荐 算法
插入排序算法的平均时间复杂度解析
【10月更文挑战第12天】 插入排序是一种简单直观的排序算法,通过不断将未排序元素插入到已排序部分的合适位置来完成排序。其平均时间复杂度为$O(n^2)$,适用于小规模或部分有序的数据。尽管效率不高,但在特定场景下仍具优势。
|
25天前
|
机器学习/深度学习 存储 缓存
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
文章主要介绍了排序算法的分类、时间复杂度的概念和计算方法,以及常见的时间复杂度级别,并简单提及了空间复杂度。
19 1
数据结构与算法学习十:排序算法介绍、时间频度、时间复杂度、常用时间复杂度介绍
|
18天前
|
存储 算法 Java
Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性
Java Set因其“无重复”特性在集合框架中独树一帜。本文解析了Set接口及其主要实现类(如HashSet、TreeSet)如何通过特定数据结构和算法确保元素唯一性,并提供了最佳实践建议,包括选择合适的Set实现类和正确实现自定义对象的hashCode()与equals()方法。
30 4
|
25天前
|
搜索推荐 算法
数据结构与算法学习十四:常用排序算法总结和对比
关于常用排序算法的总结和对比,包括稳定性、内排序、外排序、时间复杂度和空间复杂度等术语的解释。
17 0
数据结构与算法学习十四:常用排序算法总结和对比
|
25天前
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
26 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
20天前
|
算法
[数据结构] -- 时间复杂度和空间复杂度
[数据结构] -- 时间复杂度和空间复杂度
13 0
|
25天前
|
机器学习/深度学习 搜索推荐 算法
探索数据结构:初入算法之经典排序算法
探索数据结构:初入算法之经典排序算法
|
25天前
|
算法 Java 索引
数据结构与算法学习十五:常用查找算法介绍,线性排序、二分查找(折半查找)算法、差值查找算法、斐波那契(黄金分割法)查找算法
四种常用的查找算法:顺序查找、二分查找(折半查找)、插值查找和斐波那契查找,并提供了Java语言的实现代码和测试结果。
17 0