数据结构与算法学习(day1)

这篇具有很好参考价值的文章主要介绍了数据结构与算法学习(day1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

(1)我是一个大三的学生(准确来说应该是准大三,因为明天才报名哈哈哈)。

(2)最近就想每天闲着没事也刷些C语言习题来锻炼下编程水平,也一直在思考企业对应届大学生能力的要求,所以经常会想到关于面试的事情。由于我也没实习过,所以我对面试没有一个具象化的概念。

(3)好在我会动用网络去搜集信息,我打开了CSDN查了下“C语言编程每日一练”,就发现了“C语言面试题每日一练‘’的文章,其中我发现了,嵌入式面试对数据结构与算法的要求也不低,所以我要特地花时间去提升下我的数据结构与算法的能力了,不能啥也不知道哇!

本章目标

  1. 掌握简化版桶排序的使用场景和代码架构
  2. 会用简化版桶排序解决一些问题

简化版桶排序

简化版桶排序的思路就是,如果要对数据范围是0~10的整数就行排序,那么我们需要11个桶,即一个大小为11的数组,每个元素来表示0到10之间每个数出现的次数,因为数组的元素由a[0]到a[10]来排列,a[0]里面装的是数字0的个数,a[1]里面装的是数字1的个数,以此类推;最后按a[0]至a[10]的顺序或者是a[10]到a[0]的顺序来输出数组的元素,就可以实现对原数据进行从小到大或者是从大到小的顺序排列。

题目一

题目:让计算机随机读入5个数,数的大小范围是0~10;然后将这5个数从大到小输出。

思路:借助一个一维数组。

  1. 从小到大输出
#include <stdio.h>
int main()
{
	int a[10], i, j, t;
	for (i = 0; i <= 10; i++)
		a[i] = 0;     //初始化一维数组为0

	for (i = 1; i <= 5; i++)   //循环读入5个数
	{
		scanf("%d",&t);        //把每一个数读入到变量t中
		a[t]++;                //进行计数
	}

	for (i = 0; i <= 10; i++)
		for (j = 1; j <= a[i]; j++)
			printf("%d ",i);

	getchar(); getchar();
	//这里的getchar();用来暂停程序,以便查看程序输出内容
	//也可以用system("pause");等来代替
	return 0;
}

数据结构与算法学习(day1),数据结构与算法(C语言),数据结构与算法

  1. 从大到小排序
#include <stdio.h>
int main()
{
	int a[10], i, j, t;
	for (i = 0; i <= 10; i++)
		a[i] = 0;     //初始化一维数组为0

	for (i = 1; i <= 5; i++)   //循环读入5个数
	{
		scanf("%d",&t);        //把每一个数读入到变量t中
		a[t]++;                //进行计数
	}

	//i就是输入的数值,a[i]就是i的个数
	for (i = 10; i >= 0; i--)  //改这里就可以决定是从大到小排序还是从小到大排序
		for (j = 1; j <= a[i]; j++)
			printf("%d ",i);

	getchar(); getchar();
	//这里的getchar();用来暂停程序,以便查看程序输出内容
	//也可以用system("pause");等来代替
	return 0;
}

数据结构与算法学习(day1),数据结构与算法(C语言),数据结构与算法

题目二

题目:输入n个0~1000之间的整数,将它们从大到小排序。

思路:对数据范围在0到1000的整数排序,我们需要1001个桶,来表示0~1000之间每一个数出现的次数。

从大到小输出。

#include <stdio.h>
int main()
{
	int book[1001], i, j, t, n;
	for (i = 0; i <= 1000; i++)
		book[i] = 0;

	scanf("%d",&n);   //输入一个数n,表示接下来有n个数
	for (i = 1; i <= n; i++)
	{
		scanf("%d",&t);
		book[t]++;
	}

	for (i = 1000; i >= 0; i--)
		for (j = 1; j <= book[i]; j++)
			printf("%d ",i);
	getchar(); getchar();
	return 0;
}

数据结构与算法学习(day1),数据结构与算法(C语言),数据结构与算法文章来源地址https://www.toymoban.com/news/detail-689979.html

到了这里,关于数据结构与算法学习(day1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构day1(2023.7.13)

       练习1:static(全局变量、局部变量作用域)  练习2:判断变量处于用户空间的哪个区  练习3:在堆区申请连续的n个空间,实现循环输入,循环输出 、释放空间  练习4:数据定义与数据类型  练习5:typedef小练  定义字符指针,分别指向堆区空间,计算字符串的长度 要

    2024年02月16日
    浏览(44)
  • 数据结构与算法学习(day4)——解决实际问题

    在本章的学习此前,需要复习前三章的内容,每个算法都动手敲一遍解题。宁愿学慢一点,也要对每个算法掌握基本的理解! 前面我们学习了简化版桶排序、冒泡排序和快速排序三种算法,今天我们来实践一下前面的三种算法。 本章的学习目标: (1)回顾三个算法的基本原

    2024年02月09日
    浏览(57)
  • 【学习笔记】数据结构算法文档(类C语言)

    1.1.1 线性表的顺序存储表示 1.1.2 顺序表中基本操作的实现 1.1.2.1 初始化 1.1.2.2 取值 1.1.2.3 查找 1.1.2.4 插入 1.1.2.5 删除 1.1.2.6 计数 1.2.1 单链表的定义和表示 ★ 关于结点 1.2.2 单链表基本操作的实现 1.2.2.1 初始化 1.2.2.2 取值 1.2.2.3 查找 1.2.2.4 插入 1.2.2.5 删除 1.2.2.6 前插法创建单

    2024年02月07日
    浏览(44)
  • 数据结构学习记录——图应用实例-拯救007(问题描述、解题思路、伪代码解读、C语言算法实现)

    目录 问题描述  解题思路 伪代码  总体算法 DFS算法 伪代码解读 总体算法 DFS算法 具体实现(C语言) 在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑

    2024年02月05日
    浏览(78)
  • 数据结构day08(树、算法)

    今日任务: 二叉树: 今日思维导图 链接: 快排:快速排序法(详解)_李小白~的博客-CSDN博客图画挺好啊 常见款:https://www.runoob.com/w3cnote/quick-sort.html  

    2024年02月10日
    浏览(42)
  • Go语言学习Day1:什么是Go?

    名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN) (一个喜欢古诗词和编程的Coder😊) 1、走近Go ①Go语言的Logo Go语言,通常被称为Golang,是一种高效、静态类型的编程语言,旨在简化多核心、网络编程及大型软件项目的开发。Go语言的

    2024年03月22日
    浏览(42)
  • 新星计划Day6【数据结构与算法】 链表Part2

    👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csdn首发! 😘系列专栏:java学习 💻首发时间:🎞2022年4月30日🎠 🎨你做三四月的事,八九月就会有答案,一起加油吧 🀄如果觉得博主的文章还不错的话,请三连支持一

    2023年04月08日
    浏览(59)
  • MySQL学习Day19——索引的数据结构

    一、为什么使用索引: 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比一本教课书的目录部分,通过目录中找到对应文章的页码,便可快速定位到需要的文章。MySQL中也是一样的道理,进行数据査找时,首先查看查询条件是否命中某条索引,符合则通过索引査找

    2024年02月21日
    浏览(46)
  • 【Java数据结构与算法】Day2-高级排序(希尔、归并、快速、计数)

    ✅作者简介:热爱Java后端开发的一名学习者,大家可以跟我一起讨论各种问题喔。 🍎个人主页:Hhzzy99 🍊个人信条:坚持就是胜利! 💞当前专栏:【Java数据结构与算法】 🥭本文内容:Java数据结构与算法中的比较高级的排序,希尔排序、归并排序、快速排序、计数排序

    2024年02月02日
    浏览(63)
  • JAVA基础学习笔记-day14-数据结构与集合源码2

    博文主要是自己学习JAVA基础中的笔记,供自己以后复习使用,参考的主要教程是B站的 尚硅谷宋红康2023大数据教程 君以此始,亦必以终。—左丘明《左传·宣公十二年》 7.1 List接口特点 List集合所有的元素是以一种 线性方式 进行存储的,例如,存元素的顺序是11、22、33。那

    2024年01月18日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包