纯C代码模板

一、快排

void QuickSort(int *a,int left,int right){
	if(left>right) 
    return;
    else{
    
    int low = left,high = right;
    int pivot = a[low];
	while(low<high){
		while(a[high] >= pivot && low < high){
        high--;}
		a[low] = a[high];  //必须先动a[low]
		while(a[low] <= pivot && low < high){ 
        low++;}
		a[high] = a[low];
	}
	a[low] = pivot;
	QuickSort(a,left,low-1);
    QuickSort(a,low+1,right);
    }
}
#include<stdio.h>
#include<stdlib.h>

int cmp(const void *a, const void *b){
	return *(int *)a - *(int *)b;//升序
//	return *(int *)b - *(int *)a;//降序
}

int main()
{
	int n,s[10000];
	scanf("%d", &n);
	for(int i=0;i<n;i++)
		scanf("%d",&s[i]);
	qsort(s, n, sizeof(s[0]), cmp);
	for(int i=0;i<n;i++)
		printf("%d ",s[i]);
	return 0;
 } 

二、二分查找

int search(int* nums, int numsSize, int target) {
    int left = 0,right = numsSize-1,middle = 0;
    while(left<=right){
        middle=(left + right)/2;
        if(nums[middle]>target)
        right = middle-1;
        else if(nums[middle]<target)
        left=middle+1;
        else if(nums[middle]==target)
        return middle;
    }
    return left; //返回应该插入的地方
}

三、取数值各个位上的单数操作

leetcode 202快乐数

//对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
//n=191  sum=1+81+1=83
int getSum(int n) {
    int sum = 0;
    while(n){
    sum =sum + (n % 10) * (n % 10);
    n=n/10;
    }
    return sum;
}

三、进制转换

// 翻转字符串中指定范围的字符
void reverse(char* s, int start, int end) {
    for (; start < end; start++, end--) {
       char tmp = s[start];
        s[start] = s[end];
        s[end] = tmp;
    }
}
// 先用flag表示最后要不要加负号
//  数值各个位上单数操作
//  最后翻转一下即可
char* convertToBase7(int num) {
    if(num==0) return "0";
    int flag=1;
    if(num<0) flag=0;
    num=num>0?num:-num;
    char *ret=(char*)malloc(sizeof(char)*32);
    int pos=0;
    while(num>0){
        ret[pos++]=num%7+'0';
        num/=7;
    }
    if(flag==0) ret[pos++]='-';
    reverse(ret,0,pos-1);
    ret[pos]='\0';
    return ret;
}


四、单链表的各种操作 

#define MAX(a, b) ((a) > (b) ? (a) : (b))
typedef struct ListNode{   //定义单链表结点
    int val;
    struct ListNode*next;
}ListNode;


typedef struct  {             //定义单链表,指明头指针和结点数
    struct ListNode *head;
    int size;
}LinkedList;

struct ListNode *ListNode_Creat(int val) {  //创建一个链表结点并赋值val
    struct ListNode * node = (struct ListNode *)malloc(sizeof(struct ListNode)*1);
    node->val = val;
    node->next = NULL;
    return node;
}

LinkedList* LinkedList_Create() {    //创建一个链表,初始为空
    LinkedList * obj = (LinkedList *)malloc(sizeof(LinkedList));
    obj->head = ListNode_Creat(0);  
    obj->size = 0;
    return obj;
}

int LinkedList_Get(LinkedList* obj, int index) {    
     //找到链表中第index个结点,第0个即头结点
    if (index < 0 || index >= obj->size) {
        return -1;
    }
    struct ListNode *cur = obj->head;
    for (int i = 0; i <= index; i++) {
        cur = cur->next;
    }
    return cur->val;
}

void LinkedList_Add_At_Index(LinkedList* obj, int index, int val) {
    //在第index个结点处添加一个新结点,赋值val
    if (index > obj->size) {
        return;
    }
    index = MAX(0, index); //index为负值或0时意为在头节点后插入
    obj->size++;
    struct ListNode *pred = obj->head;
    for (int i = 0; i < index; i++) {
        pred = pred->next;
    }
    struct ListNode *toAdd = ListNode_Creat(val);
    toAdd->next = pred->next;
    pred->next = toAdd;
}

void LinkedList_Add_At_Head(LinkedList* obj, int val) {//头插
    LinkedList_Add_At_Index(obj, 0, val);
}

void LinkedList_Add_At_Tail(LinkedList* obj, int val) {//尾插
    LinkedList_Add_At_Index(obj, obj->size, val);
}

void LinkedList_Delete_At_Index(LinkedList* obj, int index) {
    //删除第index位置的结点
    if (index < 0 || index >= obj->size) {
        return;
    }
    obj->size--;
    struct ListNode *pred = obj->head;
    for (int i = 0; i < index; i++) {
        pred = pred->next;
    }
    struct ListNode *p = pred->next;
    pred->next = pred->next->next;
    free(p);
}

void LinkedList_Free(LinkedList* obj) {
    //释放一个链表的所有空间
    struct ListNode *cur = NULL, *tmp = NULL;
    for (cur = obj->head; cur;) {
        tmp = cur;
        cur = cur->next;
        free(tmp);
    }
    free(obj);
}

五、 翻转字符串中指定范围的字符

// 翻转字符串中指定范围的字符
void reverse(char* s, int start, int end) {
    for (; start < end; start++, end--) {
       char tmp = s[start];
        s[start] = s[end];
        s[end] = tmp;
    }
}

六、暴力字符串匹配

int strStr(char* haystack, char* needle) {
    int n = strlen(haystack), m = strlen(needle);
    for (int i = 0; i + m <= n; i++) {
        bool flag = true;
        for (int j = 0; j < m; j++) {
            if (haystack[i + j] != needle[j]) {
                flag = false;
                break;
            }
        }
        if (flag) {
            return i;//返回第一个字符串匹配处的下标
        }
    }
    return -1;
}

七、strlen  strcmp   isdigit  C语言实现

int mystrlen (char*s){
char *start=s;
char *end=s;
while(*end!='\0') end++;
return end-start;
}


int my_strcmp(char* arr1, char*arr2)
{
	while (*arr1 == *arr2)//遍历arr1和arr2数组,判断字符串元素是否相同
	{
		if (*arr1 == '\0')//其中任意一个字符串来到'\0'说明两个字符串内容都相同,返回		
			return 0;
		arr1++;//将arr1与arr2加一找到下一个字符进行比较
		arr2++;
	}
	return *arr1 - *arr2;//若字符串元素出现不同,则返回两元素相减的值
}

int myisdigit(char c){
return  c>='0'&&c<='9';
}

八、 math.h部分函数实现

#include <stdio.h>
double myabs(double x){  //绝对值
    if(x>0) return x;
    return  (-x);
}
int myshang(double x){ //向上取整
    if(x>0) {
       return ((int)x)+1;
    }
    else return (int)x;
}
int myxia(double x){  //向下取整
    if(x>0) {
       return ((int)x);
    }
    else return (int)x-1;
}
int myround(double x){  //四舍五入
    if(x>0) {
        if(x>myxia(x)+0.5) return  myshang(x);
        return myxia (x);
    }
    else{
        if(x>myshang(x)-0.5) return myshang(x);
        return myxia (x);
    }
}
double mypow(double x,int y){  //x的y次方
     double sum=x;
      while((y-1)){
          sum*=x;
          y--;
      }
      return sum;

}
signed main(){
    double n;
    scanf("%lf",&n);
    printf("%.2f ",myabs(n));
    printf("%d %d ",myxia(n),myshang(n));
    printf ("%d ",myround(n));
    printf("%.2f",mypow(n,5));
    return 0;
}

九、取最大公约数/最小公倍数/互质

//最大公约数
int gcd(int a, int b) {
    if (b == 0) {
        return a;
    } else {
        return gcd(b, a % b);
    }
}

最小公倍数为
a/gcd(a,b)*b
最大公约数是1,就是互质

十、判断素数

#include<stdio.h>
int isprime(int n){
    int mybool=1;
    if(n<2) mybool=0;
    for(int i=2;i<=n/i;i++)
     if(n%i==0)  mybool=0;
    return mybool;
}
int main(){
    int n;
    scanf("%d",&n);
    int myb=isprime(n);
    if(myb==1) printf("Yes");
    else printf("No");
    return 0;
}

十一、螺旋矩阵

 

int directions[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};
//用来顺时针旋转,一开始是行不变,列往右;然后行往下,列不变
然后行不变,列往左;然后行往上,列不变

int* spiralOrder(int** matrix, int matrixSize, int* matrixColSize, int* returnSize) {
    if (matrixSize == 0 || matrixColSize[0] == 0) {
        *returnSize = 0;
        return NULL;
    }//空矩阵处理

    int rows = matrixSize, columns = matrixColSize[0];
    int visited[rows][columns];
//visited用来判断是不是访问过了,用来缩小边界
    memset(visited, 0, sizeof(visited));
    int total = rows * columns;
    int* order = malloc(sizeof(int) * total);
    *returnSize = total;
//order是一个要求返回的一维数组
    int row = 0, column = 0;
    int directionIndex = 0;
    for (int i = 0; i < total; i++) {
        order[i] = matrix[row][column];
        visited[row][column] = true;
        int nextRow = row + directions[directionIndex][0], nextColumn = column + directions[directionIndex][1];
        if (nextRow < 0 || nextRow >= rows || nextColumn < 0 || nextColumn >= columns || visited[nextRow][nextColumn]) {
            directionIndex = (directionIndex + 1) % 4;
        }
        row += directions[directionIndex][0];
        column += directions[directionIndex][1];
    }
    return order;
}

十二、leetcode二维数组返回问题

#define IN 
#define OUT
// 定义框架
#define __________FRAME_START__________
#define __________FRAME_END__________

// 输入参数:intervals是数组指针,常规用法
// 输入参数:intervalsSize是数组行数,常规用法
// 输入参数:intervalsColSize是数组列数指针,我又不去改它列数,为什么要指针而不是整型,求指教,划为迷惑用法
// 输出参数:returnSize是返回数组行数,此处指定方便平台编译,可以理解,因此默认需要手动初始化,也就是印证了上面Note的说法,常规用法
// 输出参数:returnColumnSizes是返回列数的数组指针
int** merge(IN int** intervals, IN int intervalsSize, IN int* intervalsColSize, OUT int* returnSize, OUT int** returnColumnSizes){
  
    __________FRAME_START__________

    int row = 0; // 定义行列,二维数组肯定会用到
    int col = 0;
    *returnSize = 0; // 初始化returnSize

    int** ret = (int**)malloc(sizeof(int*)*intervalsSize );
    // 在堆空间分配二维数组,所以用malloc方法,不能在栈空间直接定义数组,不然无法返回
    // 定义返回数组的二级指针,元素个数为行数,我一般把二维数组看成一个顺序表,每个结点是一个数组
    // 若用returnColumnSizes = (int**)malloc(sizeof(int*)*intervalsSize );方法定义,不创建新指针变量虽不报错但输出结果会有问题
    for (row = 0; row < intervalsSize; row++)
    {
        ret[row] = (int*)malloc(*intervalsColSize * sizeof(int)); // 为每个结点分配一个数组空间,元素个数为列数

    } // 此时返回的二维数组创建完毕
    *returnColumnSizes = (int*)malloc(sizeof(int)*intervalsSize ); 
    // 为神秘的returnColumnSizes指针变量初始化分配一段空间
    // 元素个数为行数,每个元素用来存放该行的列数

    __________FRAME_END__________

   

十三、同构哈希

十四、sprintf 

#include <stdio.h>

int main() {
    char buffer[50];
    int a = 10;
    float b = 20.5;
    
    // 使用sprintf将格式化的字符串写入buffer
    sprintf(buffer, "整数是: %d, 浮点数是: %.2f", a, b);
    
    // 输出buffer的内容
    printf("%s\n", buffer);
    
    return 0;
}

 十五、字符串模拟加法


//多少进制加法都是这个模板
char * addBinary(char * a, char * b){
    int carry = 0;
    int lena = strlen(a);
    int lenb = strlen(b);
    int len  = fmax(lena, lenb);
    int i    = lena - 1;
    int j    = lenb - 1;
    char *res = (char*)malloc(sizeof(char) * (len + 2)); /* 长度可能是更长的字符串加1 */
    int k = len + 1;
    res[k--] = '\0'; /* 添加结束符 */

    /* 模拟加法处理 */
    while (i >= 0 || j >= 0 || carry > 0) {
        carry += (i >= 0) ? a[i--] - '0' : 0;     //记录a当前位的值
        carry += (j >= 0) ? b[j--] - '0' : 0; 
        res[k--] = carry % 2 + '0';              //3取余是1,
        carry /= 2;                                //进位
    }
    return res + k + 1;  //注意最后停止在哪里
}

 

随便记机

数组篇

 二分查找

注意while中是小于等于,等于时要进行判断,不然会忽略只有一个值且是目标值的情况

注意更新值是middle要是边界值减一或者加一,不然只有一个值是不会跳出循环

数组移除元素

用一个count记录目前返回数组的计数就行,注意最后数组元素个数具体是什么

有序数组的平方(快排)

先平方再快排就行,快排注意点:

三个while里面都是小于,同时low和high移动时都是小于等于或者大于等于移动

长度最小的子数组(和大于目标值的子数组的最小长度)

滑动窗口,从左到右,从下标零开始先找到满足目标值的子数组,记录目前最小长度。然后左边界尽可能地在满足大于目标值的情况下往右边划,记录目前最小长度。最少划一次后然后不满足了,然后右边界往右划直到满足,记录目前最小长度。重复此操作直到右边划到头。

链表篇

树篇

111.求二叉树的最小深度

贪心篇

455分发饼干

先排序,然后双指针比较即可

376摆动序列

用一个trend记录上升还是下降,上升为1,下降为0,初始trend为100保证初始一定记录

53最大子序列

从头开始,记录一个当前sum和最大result,遇见负数也sum计数加值,遇见正数自然会更新result,如果sum计数到负值了,令sum=0从头开始计数sum。result一定是保存当前最大值,初始化为INT_MIN(导致一定会记录到第一个负数,然后后续会记录到最大的负数)

122买卖股票的最佳时机Ⅱ

比如有三天。第一天买第二天卖同时第二天买第三天卖,即3-2+2-1=3-1。跟第一天买第三天卖一样。因此只要能赚钱,就可以日抛,只需要找到整个周期中日抛为正的差值,然后加起来就行

55跳跃游戏

用一个cover来记录当前能达到的下标范围,达到终点即可返回。在迭代的过程中不断更新该cover的实际范围。 

45跳跃游戏2

与I不同的是这里一定可以保证到达终点,因此局部最优可以为找到当前位置i到j使cover最大的j,然后更新i=j,count+1;最后当cover可以到达时,cover+1即可结束。

1005K次取反后最大化的数组

排序数组,先统计数组负值数量count,取count和K最小的把数组的负值翻转,如果K大于count,排序数组,把k-count用来翻转最小的那个元素,K-count为偶数相当于不变,最后求和数组。

字符串篇

58.最后一个单词的长度

因为是最后一个单词,所以可以把字符串翻转,这样转换到了前面。

然后把开头第一个单词前面的空格删

然后计算第一个单词的长度即可

844.比较含退格的字符

strcmp函数的实现还有删除#的操作,注意返回的是一个新字符串数组

524. 通过删除字母匹配到字典里最长单词

注意字典是一个二维数组,每次取出一行就行,记为q

当前p,q字母相等时下标都加加,当不等时p下标++,直到为两者其一为空,q为空就是匹配到了,更新当前最长单词,如果长度相同,比较字典序。

1309. 解码字母到整数映射

判断属于哪种解码,然后对应位怎么处理即可

动态规划篇

509斐波那契数

递归法,动态规划法(使用dp数组),迭代法

70爬楼梯

每次你可以爬 1 或 2 个台阶, dp[i]=dp[i-1]+dp[i-2]

746使用最小花费爬楼梯

每次你可以爬 1 或 2 个台阶,加上花销,dp[i]=fmin(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);

62不同路径

先初始化第一行和第一列都是1,递推公式: f[ i ] [j ] = f[i - 1][ j ] + f[ i ] [ j - 1];

63不同路径2

先初始化第一行和第一列都是0,然后检查第一行第一列是否有障碍物,把没有障碍物的地方初始化为1,递推公式仍然是f[ i ] [j ] = f[i - 1][ j ] + f[ i ] [ j - 1],先检查ij位置是否有障碍物即可

343整数拆分

两层遍历,外层是i,内层是j从1到i-1,dp[i] = max(dp[i], max((i - j) * j, dp[i - j] * j));//内层每次更新dp[i]

300最长递增子序列

dp[i]表示以nums[i]为结尾的最长子序列数目,然后对于j<i,如果nums[j]<nums[i],那么dp[i]=dp[j]+1,那么在一个i中,遍历所有的小于i的j,取dp[i]的最大值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TR3 - Transformer算法详解

目录 文本输入处理词向量位置向量 编码器 EncoderSelf-Attention多头注意力机制残差连接 解码器 Decoder线性层与Softmax损失函数总结与心得体会 这周来看一下Transformer是怎么将文本转换成向量&#xff0c;然后又输入到模型处理并得到最终的输出的。 文本输入处理 词向量 …

计算机内存是如何管理的

计算内存的那些事儿——内存管理 大家回忆一下&#xff0c;计算机结构&#xff0c;或者说一个SoC&#xff08;system-on-chip&#xff09;芯片的结构。 cpu、memory、peripherals&#xff0c;这是计算机的主要部件&#xff0c;三者之间通过system bus勾搭在一起。 The main co…

易支付和独角数卡对接TokenPay开通USDT收款教程

TRX、USDT-TRC20、ETH系列区块链代币的支付通道是很多发卡和电商平台需要的&#xff0c;因为传统的微信、支付宝、PayPal等支付接口审查严格、手续费高。自建的代币接口完成没有手续费&#xff0c;稳定可靠&#xff0c;也没有审查要求。 易支付在行业普及广泛&#xff0c;大部…

JVM(Java虚拟机)

文章目录 一、JVM简介1.1 JVM概念1.2 什么是Java虚拟机呢&#xff1f;Java虚拟机的好处是什么呢&#xff1f; 二、JVM整体组成部分三、类加载器3.1 类加载子系统3.2 类加载过程3.2.1 装载(Load)3.2.2 链接(Link)3.2.3 初始化(Initialize) 四、运行时数据区4.1 方法区&#xff0…

stack 与 queue 与 priority_queue 与 仿函数 与 模板进阶

目录 stack queue deque priority_queue 使用 模拟实现 仿函数 仿函数的用法 仿函数的意义 模板进阶 非类型模板参数 模板特化 类模板特化的用法 类模板特化的意义 函数模板特化的用法 模板的分离编译 模板分离编译报错的原因 ​解决方法 模板总结 栈、队列…

Git安装教程(图文安装)

Git Bash是git(版本管理器)中提供的一个命令行工具&#xff0c;外观类似于Windows系统内置的cmd命令行工具。 可以将Git Bash看作是一个终端模拟器&#xff0c;它提供了类似于Linux和Unix系统下Bash Shell环境的功能。通过Git Bash&#xff0c;用户可以在Windows系统中运行基于…

【数据处理包Pandas】DataFrame对象的合并

目录 前言一、回顾Numpy数组的合并二、concat方法合并DataFrame对象三、append方法的使用四、merge方法合并DataFrame对象&#xff08;一&#xff09;比较merge与concat&#xff08;二&#xff09;参数on、left_on和right_on的用法&#xff08;三&#xff09;合并时四种不同的连…

c# wpf template ItemsPanel 简单试验

1.概要 2.代码 <Window x:Class"WpfApp2.Window9"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/…

软件测试(Junit5 单元测试框架)(五)

1. Junit单元测试框架 Junit 是 Java 的一个单元测试框架, 使用Selenium写自动化测试用例, 使用Junit 管理写好的测试用例. 2. 注解&#xff1a; Test 表示当前的这个方法是一个测试用例. 示例: 添加依赖 <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-…

[译] 教你如何用 Flutter 的 GestureDetector 构建自定义滑块

这个控件非常简单&#xff0c;我们接收完成的百分比值&#xff0c;以及正面和背面部分的颜色。主 Container 将背面颜色作为背景&#xff0c;我们将绘制正面部分去覆盖它。它的子节点是 Row&#xff0c;虽然它只包含一个子节点&#xff0c;但我保留了它&#xff0c;方便你添加另…

impala使用round函数保留小数失效

问题描述如标题所示 1.理论情况: round()函数,是用来做四舍五入的,比如:select round(2.126,2) 结果为:2.132.异常情况: 但是有时候会出现一些意料之外的情况,比如:select round(1/3,3) 结果为:0.33300000000000002正确的应该是:0.333截图效果示例如下: 3.解决办…

51之LCD1602与模块化编程

LCD1602&#xff0c;即我们开发板上附赠的那个液晶显示屏&#xff0c;我们通常可以使用这个液晶显示屏用来做调试工具&#xff0c;我们使用一下江科大提供的关于这个LCD1602的代码&#xff0c;用来为我们提供了类似C语言标准库里面的printf函数的用法&#xff0c;只是这个更加复…

非关系型数据库-----------探索 Redis高可用 、持久化、性能管理

目录 一、Redis 高可用 1.1什么是高可用 1.2Redis的高可用技术 二、 Redis 持久化 2.1持久化的功能 2.2Redis 提供两种方式进行持久化 三、Redis 持久化之----------RDB 3.1触发条件 3.1.1手动触发 3.1.2自动触发 3.1.3其他自动触发机制 3.2执行流程 3.3启动时加载…

AssetBundle在移动设备上丢失

1&#xff09;AssetBundle在移动设备上丢失 2&#xff09;Unity云渲染插件RenderStreaming&#xff0c;如何实现多用户分别有独立的操作 3&#xff09;如何在圆柱体类型的地图中编程玩家的输入 4&#xff09;Mixamo动画的根运动问题 这是第380篇UWA技术知识分享的推送&#xff…

如何处理ubuntu22.04LTS安装过程中出现“Daemons using outdated libraries”提示

Ubuntu 22.04 LTS 中使用命令行升级软件或安装任何新软件时&#xff0c;您可能收到“Daemons using outdated libraries”&#xff0c;“Which services should be restarted?”的提示&#xff0c;提示下面列出备选的重启服务&#xff0c;如下。 使用以下命令&#xff0c;能够…

盒子模型和伪元素

一.盒子模型的理解 我们平常在布局的时候,少不了盒子模型,今天讲解一下对盒子模型的理解。 理解:我们可以把盒子模型比作一个装着快递的包裹:里面的东西可以比作是内容,盒子里面的填充物可以比作是padding 外层的包装纸线条,可以比作是border&#xff0c;这个快递离另外个快递…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(9)复发

PS从入门到精通视频各类教程整理全集&#xff0c;包含素材、作业等 最新PS以及插件合集&#xff0c;可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制&#xff0c;今天先分享到这里&#xff0c;后续持续更新 第一课 ——第三课素材文件 https://www.alipan.c…

20230405让WIN11暂停更新365天(暂停更新35天)

20230405让WIN11暂停更新365天&#xff08;暂停更新35天&#xff09; 2024/4/5 20:34 缘起&#xff0c;备用的笔记本电脑只要一开机&#xff0c;就会被比尔盖茨/微软提醒去更新/升级&#xff01; 不胜其烦&#xff01; 虽然可以在设置里设置暂停更新35天。但是也是不胜其扰&…

蓝桥杯杯赛之深度优先搜索优化《1.分成互质组》 《 2.小猫爬山》【dfs】【深度搜索剪枝优化】【搜索顺序】

文章目录 思想例题1. 分成互质组题目链接题目描述【解法一】【解法二】 2. 小猫爬山题目链接题目描述输入样例&#xff1a;输出样例&#xff1a;【思路】【WA代码】【AC代码】 思想 本质为两种搜索顺序&#xff1a; 枚举当前元素可以放入哪一组枚举每一组可以放入哪些元素 操…

解决windows下Qt Creator显示界面过大的问题

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 问题描述 解决方法 1、右击此电脑--->属性 2、点击高级系统设置--->点击环境变量 3、 找到系…