排序综合(C++版)

news2024/11/20 14:28:43

目录

                                             排序综合                                           

一、问题描述

二、运行环境说明 

三、代码段 

四、效果展示 


                                             排序综合                                           

备注:大二(上)数据结构课程设计B题

一、问题描述

给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果

本题旨在测试各种排序算法在各种数据情况下的表现

各组测试数据特点如下:

·  数据1:11个不相同的整数;

·  数据2:1000个随机整数;

·  数据3:10000个随机整数;

·  数据4:100000个随机整数;

·  数据5:100000个顺序整数;

·  数据6:100000个逆序整数

输入格式:

第一行给出正整数N(N≤10​0000)

随后一行给出N个(长整型范围内的)整数,其间以空格分隔

输出格式:

在一行中输出从小到大排序后的结果,数字间以1个空格分隔

输入样例:

11

4 981 10 -17 0 -20 29 50 8 43 -5

输出样例:

-20 -17 -5 0 4 8 10 29 43 50 981

【测试任务】

(1)按上述输入样例的格式生成数据1~数据6这6组数据集,

         分别存储到data1.txt ~ data6.txt这6个文件中

(2)实现以下6种排序算法:

        直接插入排序、希尔排序、起泡排序、快速排序、简单选择排序、堆排序

(3)在主函数中分别调用上述排序函数,对data1.txt ~ data6.txt文件中的数据进行排序,

        并记录不同排序算法对不同数据集进行排序的耗时,将耗时输出到显示器,

        并将排序结果按输出样例格式输出到result1.txt ~ result6.txt这6个文件中

二、运行环境说明 

三、代码段 

#include<iostream>
#include<algorithm>
#include <ctime>
using namespace std;

//--------------------------------------------------------------------------------------------

void InsertSort(int arr[], int length) //直接插入排序 
{
    if (arr == nullptr || length <= 0)
        return;
    for(int i=2;i<=length;i++)
      if(arr[i]<arr[i-1])
        {
        	arr[0]=arr[i];
        	arr[i]=arr[i-1];
        	int j=i-2; 
        	for(;j>=1 && arr[0]<arr[j];j--)
        	  arr[j+1]=arr[j];
        	arr[j+1]=arr[0];
		}
} 

void MinShellSort(int arr[], int length, int dk)
{
	for(int i=dk+1;i<=length;i++)
	  if(arr[i]<arr[i-dk])
	    {
	    	arr[0]=arr[i];
	    	int j=i-dk;
	    	for(;j>=1 && arr[0]<arr[j];j-=dk)
	    	  arr[j+dk]=arr[j];
	    	arr[j+dk]=arr[0];
		}
}
void MainShellSort(int arr[], int length,int dt[],int len) //希尔排序 
{
	for(int k=0;k<len;k++)
	  MinShellSort(arr,length,dt[k]);
}

void BubbleSort(int arr[], int length) //冒泡排序
{
	bool flag=true;
	int m=length-1;
	while(m>0 && flag)
	  {
	  	flag=false;
	  	for(int j=1;j<=m;j++)
	  	  if(arr[j]>arr[j+1])
	  	    {
	  	    	flag=true;
	  	    	int tem=arr[j];
	  	    	arr[j]=arr[j+1];
	  	    	arr[j+1]=tem;
			  }
	    m--;
	  }
} 

void QuickSort(int q[],int l,int r) //快速排序 
{
    if(l>=r)  return;
    
    int i=l-1,j=r+1,x=q[l+r>>1];
    while(i<j)
      {
          do i++; while(q[i]<x);
          do j--; while(q[j]>x);
          if(i<j) swap(q[i],q[j]);
      }
      
    QuickSort(q,l,j);
    QuickSort(q,j+1,r);
}

void SelectSort(int arr[], int length) //简单选择排序
{
	for(int i=1;i<length;i++)
	  {
	  	int k=i;
	  	for(int j=i+1;j<=length;j++)
	  	  if(arr[j]<arr[k])
	  	    k=j;
	  	if(k!=i)
	  	  {
	  	  	int tem=arr[i];
	  	  	arr[i]=arr[k];
	  	  	arr[k]=tem;
		  }
	  }
} 

void HeapAdjust(int arr[],int s,int m)
{
	int rc=arr[s];
	for(int j=2*s;j<=m;j*=2)
      {
		if(j<m && arr[j]<arr[j+1])  j++;
		if(rc>=arr[j])              break;
		arr[s]=arr[j];
		s=j;
	  }
	arr[s]=rc;
}
void CreatHeap(int arr[], int length)
{
	int n=length;
	for(int i=n/2;i>0;i--)
	  HeapAdjust(arr,i,n);
}
void HeapSort(int arr[], int length) //堆排序 
{
	CreatHeap(arr,length);
	for(int i=length;i>1;i--)
	  {
	  	int tem=arr[1];
	  	arr[1]=arr[i];
	  	arr[i]=tem;
		HeapAdjust(arr,1,i-1);
	  }
}

//--------------------------------------------------------------------------------------------

void GetData()                                                                   //获取整数数据函数 
{
	FILE *fp1,*fp2,*fp3,*fp4,*fp5,*fp6;           //文件指针 
	
	fp1 = fopen("data1.txt", "w");
    fprintf(fp1,"11\n");
    fclose(fp1);
    fp1 = fopen("data1.txt", "a");
    fprintf(fp1,"4 981 10 -17 0 -20 29 50 8 43 -5");
    fclose(fp1);
	
	fp2 = fopen("data2.txt", "w");
    fprintf(fp2,"1000\n");
    fclose(fp2);
    fp2 = fopen("data2.txt", "a");
	srand((int)time(0));                          //随机种子 
    for(int i=1;i<=1000;i++)
      fprintf(fp2,"%d ",((rand()<<15)+rand())%10000);            //随机整数的范围为[0,10000)
	fclose(fp2);
	
	fp3 = fopen("data3.txt", "w");
    fprintf(fp3,"10000\n");
    fclose(fp3);
    fp3 = fopen("data3.txt", "a");
	srand((int)time(0));                          //随机种子 
    for(int i=1;i<=10000;i++)
      fprintf(fp3,"%d ",((rand()<<15)+rand())%100000);           //随机整数的范围为[0,100000)
	fclose(fp3);
	
	fp4 = fopen("data4.txt", "w");
    fprintf(fp4,"100000\n");
    fclose(fp4);
    fp4 = fopen("data4.txt", "a");
	srand((int)time(0));                          //随机种子 
    for(int i=1;i<=100000;i++)
      fprintf(fp4,"%d ",((rand()<<15)+rand())%1000000);          //随机整数的范围为[0,1000000)
	fclose(fp4);
	
	fp5 = fopen("data5.txt", "w");
    fprintf(fp5,"100000\n");
    fclose(fp5);
    fp5 = fopen("data5.txt", "a");
    for(int i=1;i<=100000;i++)
      fprintf(fp5,"%d ",i);      //100000个顺序整数 
    fclose(fp5);
    
    fp6 = fopen("data6.txt", "w");
    fprintf(fp6,"100000\n");
    fclose(fp6);
    fp6 = fopen("data6.txt", "a");
    for(int i=100000;i>=1;i--)
      fprintf(fp6,"%d ",i);      //100000个逆序整数 
    fclose(fp6);
}

//--------------------------------------------------------------------------------------------

void InitData(int R1[],int R2[],int R3[],int R4[],int R5[],int R6[])             //读取整数数据函数
{
	FILE *fp1,*fp2,*fp3,*fp4,*fp5,*fp6;             //文件指针
	
    if((fp1 = fopen("data1.txt", "r")) == NULL)
       cout << "不能打开文件data1.txt" << endl; 
    else
	{
	  int count1=0;
	  while(!feof(fp1))
	     {
		   fscanf(fp1,"%d",&R1[count1]);
		   count1++;
	     }
	}
	fclose(fp1);
	
	if((fp2 = fopen("data2.txt", "r")) == NULL)
       cout << "不能打开文件data2.txt" << endl; 
    else
	{
	  int count2=0;
	  while(!feof(fp2))
	     {
		   fscanf(fp2,"%d",&R2[count2]);
		   count2++;
	     }
	}
	fclose(fp2);
	
	if((fp3 = fopen("data3.txt", "r")) == NULL)
       cout << "不能打开文件data3.txt" << endl; 
    else
	{
	  int count3=0;
	  while(!feof(fp3))
	     {
		   fscanf(fp3,"%d",&R3[count3]);
		   count3++;
	     }
	}
	fclose(fp3);
	
	if((fp4 = fopen("data4.txt", "r")) == NULL)
       cout << "不能打开文件data4.txt" << endl; 
    else
	{
	  int count4=0;
	  while(!feof(fp4))
	     {
		   fscanf(fp4,"%d",&R4[count4]);
		   count4++;
	     }
	}
	fclose(fp4);
	
	if((fp5 = fopen("data5.txt", "r")) == NULL)
       cout << "不能打开文件data5.txt" << endl; 
    else
	{
	  int count5=0;
	  while(!feof(fp5))
	     {
		   fscanf(fp5,"%d",&R5[count5]);
		   count5++;
	     }
	}
	fclose(fp5);
	
	if((fp6 = fopen("data6.txt", "r")) == NULL)
       cout << "不能打开文件data6.txt" << endl; 
    else
	{
	  int count6=0;
	  while(!feof(fp6))
	     {
		   fscanf(fp6,"%d",&R6[count6]);
		   count6++;
	     }
	}
	fclose(fp6);
}

//--------------------------------------------------------------------------------------------

double VariousSort(char c, int R[], int length)
{
	double t;
	clock_t startTime,endTime;
	
	if(c=='I')//直接插入排序
	  {
	  	startTime = clock(); InsertSort(R,length); endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
	else if(c=='M')//希尔排序
	  {
	  	int len=3;
	    int dt[]={5,3,1};
	    startTime = clock(); 
	    MainShellSort(R,length,dt,len);
		endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
	else if(c=='B')//冒泡排序
	  {
	  	startTime = clock(); BubbleSort(R,length); endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
	else if(c=='Q')//快速排序
	  {
	  	startTime = clock(); QuickSort(R,1,length); endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
	else if(c=='S')//简单选择排序
	  {
	  	startTime = clock(); SelectSort(R,length); endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
	else//堆排序
	  {
	  	startTime = clock(); HeapSort(R,length); endTime = clock();
        t = (double)(endTime - startTime)/CLOCKS_PER_SEC;
        return t;
	  }
}

//--------------------------------------------------------------------------------------------

void GetResult(int R1[],int R2[],int R3[],int R4[],int R5[],int R6[])            //获取排序结果函数
{
	double t[10];
	
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('I', R1, 11);
	t[2]=VariousSort('I', R2, 1000);
	t[3]=VariousSort('I', R3, 10000);
	t[4]=VariousSort('I', R4, 100000);
	t[5]=VariousSort('I', R5, 100000);
	t[6]=VariousSort('I', R6, 100000);
	printf("直接插入排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	puts("");
	  
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('M', R1, 11);
	t[2]=VariousSort('M', R2, 1000);
	t[3]=VariousSort('M', R3, 10000);
	t[4]=VariousSort('M', R4, 100000);
	t[5]=VariousSort('M', R5, 100000);
	t[6]=VariousSort('M', R6, 100000);
	printf("希尔排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	puts("");
	  
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('B', R1, 11);
	t[2]=VariousSort('B', R2, 1000);
	t[3]=VariousSort('B', R3, 10000);
	t[4]=VariousSort('B', R4, 100000);
	t[5]=VariousSort('B', R5, 100000);
	t[6]=VariousSort('B', R6, 100000);
	printf("冒泡排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	puts("");
	  
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('Q', R1, 11);
	t[2]=VariousSort('Q', R2, 1000);
	t[3]=VariousSort('Q', R3, 10000);
	t[4]=VariousSort('Q', R4, 100000);
	t[5]=VariousSort('Q', R5, 100000);
	t[6]=VariousSort('Q', R6, 100000);
	printf("快速排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	puts("");
	  
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('S', R1, 11);
	t[2]=VariousSort('S', R2, 1000);
	t[3]=VariousSort('S', R3, 10000);
	t[4]=VariousSort('S', R4, 100000);
	t[5]=VariousSort('S', R5, 100000);
	t[6]=VariousSort('S', R6, 100000);
	printf("简单选择排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	puts("");
	  
	InitData(R1,R2,R3,R4,R5,R6);
	t[1]=VariousSort('H', R1, 11);
	t[2]=VariousSort('H', R2, 1000);
	t[3]=VariousSort('H', R3, 10000);
	t[4]=VariousSort('H', R4, 100000);
	t[5]=VariousSort('H', R5, 100000);
	t[6]=VariousSort('H', R6, 100000);
	printf("堆排序:\n");
	for(int i=1;i<=6;i++)
	  printf("排序数据%d用时%lf秒\n",i,t[i]);
	printf("对六类数据排序所用总时间为%lf秒\n",t[1]+t[2]+t[3]+t[4]+t[5]+t[6]);
	  
	FILE *fp1,*fp2,*fp3,*fp4,*fp5,*fp6;             //文件指针
	
	fp1 = fopen("result1.txt", "w");
    for(int i=1;i<=11;i++)
      fprintf(fp1,"%d ",R1[i]);           
	fclose(fp1);
	
	fp2 = fopen("result2.txt", "w");
    for(int i=1;i<=1000;i++)
      fprintf(fp2,"%d ",R2[i]);           
	fclose(fp2);
	
	fp3 = fopen("result3.txt", "w");
    for(int i=1;i<=10000;i++)
      fprintf(fp3,"%d ",R3[i]);           
	fclose(fp3);
	
	fp4 = fopen("result4.txt", "w");
    for(int i=1;i<=100000;i++)
      fprintf(fp4,"%d ",R4[i]);           
	fclose(fp4);
	
	fp5 = fopen("result5.txt", "w");
    for(int i=1;i<=100000;i++)
      fprintf(fp5,"%d ",R5[i]);           
	fclose(fp5);
	
	fp6 = fopen("result6.txt", "w");
    for(int i=1;i<=100000;i++)
      fprintf(fp6,"%d ",R6[i]);           
	fclose(fp6);
}

//--------------------------------------------------------------------------------------------

int main()
{
	int R1[20],R2[1010],R3[10010],R4[100010],R5[100010],R6[100010];
	  
	GetData();
	
	printf("六类数据预览:\n");
	printf("数据1:11个不相同的整数\n");
	printf("数据2:1,000个[0,10000)范围内随机整数\n");
	printf("数据3:10,000个[0,100000)范围内随机整数\n");
	printf("数据4:100,000个[0,1000000)范围内随机整数\n");
	printf("数据5:[1,100000]范围内所有整数从小到大排列\n");
	printf("数据6:[1,100000]范围内所有整数从大到小排列\n\n");
	printf("接下来将调用六类排序方法对以上六类数据进行从小到大排序,并测算排序所用时间!\n\n");
	
	GetResult(R1,R2,R3,R4,R5,R6);
	
	return 0;
}

四、效果展示 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python asyncio异步编程简单实现

今天继续给大家介绍Python相关知识&#xff0c;本文主要内容是Python asyncio异步编程简单实现。 一、asyncio事件循环简介 asyncio引入了事件循环的概念。事件循环是一个死循环&#xff0c;还循环会检测并执行某些代码。在Python中&#xff0c;引入了asyncio模块后&#xff…

动态内存管理:学习笔记9

目录 一.前言 二.动态内存函数 1.malloc和free 2.calloc函数 3. realloc函数(动态内存空间调整函数) 情形一&#xff1a;扩容时&#xff0c;原内存地址处可以容纳调整后的动态内存 情形二&#xff1a;扩容时&#xff0c;原内存地址无法容纳调整后的动态内存 三.C/C程序…

MATLAB实现费诺编码的计算与分析

一、实验目的 1、理解霍费诺编码的原理。 2、掌握费诺编码的方法和步骤。 3、熟悉费诺编码的效率。 4、本实验用Matlab语言编程实现费诺&#xff08;Fano&#xff09;编码。 二、实验环境 windows XP&#xff0c;MATLAB 7 三、实验原理 费诺编码算法如下&#xff1a;在信源…

构建前端项目

1.使用vite构建vue项目 vite构建vue项目&#xff0c;输入以下命令&#xff1a; npm init vitelatest接着按照提示的命令选择项目的名称、框架、语言。接着项目就构建完成了。 接着将构建好的项目&#xff1a;vite-demo拖入vsCode里面&#xff0c;在package.json中可以看到项…

redis基础命令使用

目录 Redis redis存储结构&#xff08;KV&#xff09; String string类型介绍 string类型数据的基础操作 string类型数据的扩展操作 List list类型介绍 list类型数据基本操作 list类型数据扩展操作 hash hash类型介绍 hash类型数据的基本操作 hash类型数据扩展操…

傅里叶变换

傅里叶变换 傅里叶变换常用的三个函数 函数一: numpy.fft.fft2: 复数数组 函数二: numpy.fft.fftshift: 将零频率分量移动到频谱中心 函数三: 20*np.log(np.abs(fshift)) 设置频谱的范围 import cv2 import numpy as np import matplotlib.pyplot as pltdef test_1():img cv2…

再说多线程(三)——Mutex类

1.引子在前面2节&#xff0c;我们已经讨论了Lock语句和Monitor类&#xff0c;Locks 和 Monitors 确保 InProcess 线程的线程安全&#xff0c;即由应用程序本身生成的线程&#xff0c;即内部线程。但是&#xff0c;如果线程来自 OutProcess&#xff0c;即来自外部应用程序&#…

Java 诊断利器 Arthas monitor/watch/trace命令

一、监控相关命令介绍 二、监控相关命令 2.1、运行Demo 2.2、monitor 命令 2.2.1、方法监控 2.3、watch 命令 &#xff08;重要&#xff09; 2.3.1、观察函数调用返回时的参数、this 对象和返回值 2.3.2、查看函数调用的入参和返回值 2.3.3、深度遍历 x 说明 2.3.4、查…

检验仪器控制怎么停止的

之前介绍仪器控制启动是按维护的调用M和仪器ID组串直接j启动进程&#xff0c;进程在调用Start启动TCP。 组装执行M串用j启动进程 启动TCP通道&#xff0c;成功之后就到f的死循环了 死循环这里容易有个误解&#xff0c;以为Stop是停止仪器接口的。其实这个Stop是判断要不要…

一灯大师,基于imx6ull点亮LED灯

一.imx6ull GPIO原理1. STM32 GPIO回顾我们一般拿到一款全新的芯片&#xff0c;第一个要做的事情的就是驱动其 GPIO&#xff0c;控制其 GPIO 输出高低电平&#xff0c;我们学习 I.MX6U 也一样的&#xff0c;先来学习一下 I.MX6U 的 GPIO。在学习 I.MX6U的 GPIO 之前&#xff0c…

Spark WordCount 案例

文章目录Spark WordCount 案例1、程序连接 Spark2、WordCount 案例示例3、复杂版 WordCount4、Spark 框架WordcountSpark WordCount 案例 1、程序连接 Spark 首先这个Scala spark程序和spark的链接&#xff0c;跟sql编程类似。首先new 一个新的val context SparkContext()对…

谷粒商城-高级篇-Day10-ElasticSearch

初步检索 1、_cat GET /_cat/nodes:查看所有节点 GET/_cat/health:查看es健康状况 GET/_cat/master:查看主节点 GET/_cat/indices:查看所有索引–相当于查询所有数据库 2、索引一个文档 put&#xff1a;http://192.168.205.128:9200/customer/external/1 {"name&qu…

Qt之加载百度离线地图(WebKit和WebEngine)

最近翻看进年前写了一篇关于百度离线地图的博客:Qt加载百度离线地图,发现存在很多问题,比如不能加载折线等图形覆盖物;只支持QtWebKit,不支持QtWebEngine。 之前做项目需要在百度离线地图上绘制Mesh拓扑图,必须添加折线覆盖物,使用的是百度离线地图API V2.1,满足需求。…

Java注解详解

什么是注解 ​ 用一个词就可以描述注解&#xff0c;那就是元数据&#xff0c;即一种描述数据的数据。所以&#xff0c;可以说注解就是源代码的元数据 元注解 JDK1.5之后内部提供的注解&#xff1a; Deprecated 意思是“废弃的&#xff0c;过时的”Override 意思是“重写、覆…

算法训练营 day18 二叉树 找树左下角的值 路径总和 从中序与后序遍历构建二叉树

算法训练营 day18 二叉树 找树左下角的值 路径总和 从中序与后序遍历构建二叉树 找树的左下角 513. 找树左下角的值 - 力扣&#xff08;LeetCode&#xff09; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节…

Java --- JUC之原子类

目录​​​​​​​ 一、基本类型原子类 二、数组类型原子类 三、引用类型原子类 四、对象的属性修改类型原子类 五、原子操作增强类 5.1、高性能热点商品应用 5.2、LongAdder架构图 5.3、源码分析 一、基本类型原子类 public class AtomicTest1 {public static final…

canvas:基础知识【直线和矩形】

canvas&#xff0c;就是画布&#xff0c;是HTML5和核心技术之一&#xff0c;结合JavaScript&#xff0c;可以绘制各种各样的图形&#xff0c;比如矩形、曲线、圆形等等。另外&#xff0c;canvas可以绘制图表、动画效果、游戏开发。 基本图形汇中有直线和曲线。常见的直线图形是…

arduino rc522模块使用

rfid IC卡 先了解IC卡一些前置知识。 首先我们会有一张ic卡&#xff08;M1类型IC卡&#xff0c;一般买到的都是1K存储空间&#xff09;&#xff0c;在rc522代码中会出现这个&#xff0c;就是对IC卡进行检查PICC_TYPE_MIFARE_4K和PICC_TYPE_MIFARE_1K就是一种卡片类型不同大小…

零基础学MySQL(二)-- 表的创建,修改,删除

文章目录&#x1f388;一、创建表1️⃣基本语法2️⃣入门案例&#x1f386;二、MySQL常用数据类型1️⃣数值型&#xff08;整型&#xff09;默认有符号2️⃣数值型&#xff08;bit&#xff09;3️⃣数值型&#xff08;浮点型&#xff09;默认有符号4️⃣字符串的基本使用5️⃣字…

1584_AURIX_TC275_SMU的调试以及部分寄存器

全部学习汇总&#xff1a; GreyZhang/g_TC275: happy hacking for TC275! (github.com) 前面学习的过程中&#xff0c;突然间减速了不少。但是为了保证学习的推进&#xff0c;还是得有每天的稳定输出。我的策略是多看&#xff0c;多处理&#xff0c;之后每天整理10页标注的文档…