自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 力扣 环形链表一

给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部...

2022-04-20 19:10:35 79

原创 力扣相交链表

给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。自定义评测:评测系统 的输入如下(你设计的程序 不适用 此输入):intersectVal - 相交的起始节点的值。如果不存在相交节点,这一值为 0listA - 第一个链表listB - 第二个链表skipA - .

2022-04-20 17:35:06 75

原创 链表中倒数第k个节点

输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.方法:快慢指针/*** Definition for singly-linked list.* struct...

2022-04-17 10:43:20 94

原创 分割链表(牛客网)

现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/class Partition {public: ListNode* partition(ListNode* ...

2022-04-17 10:40:13 61

原创 c语言实现单链表的创建,遍历,插入,删除,反转函数

#include<stdio.h>#include <stdio.h>#include<stdlib.h>int num=0;struct list{ int val; struct list*next;};//创建链表函数struct list* creat(){ struct list* head,p; struct list*q;//q为前,p为后 head=NULL; printf("想创建的结点...

2022-04-15 18:04:35 1216

原创 c语言实现堆排序

堆排序的核心思想是建堆并调整所以最重要的是写出调整函数代码如下#include <stdio.h>void swap(int*a,int*b){ int temp=*b; *b=*a; *a=temp;}void sift(int a[],int low,int high)//调整函数 {//a[]列表//low 堆的根节点位置//high 堆的最后一个元素位置 int i,j,tmp; i=low;//i最开始指向根节点 j=2*i+1;//j开

2022-01-10 16:50:22 484

原创 c语言实现快速排序函数

c语言实现快速排序众所周知,快速排序在排序算法中时间复杂度较为低,为O(nlogn),而选择,冒泡等排序的时间复杂度均为O(n^2)。所以,现在我们来用c语言实现快速排序算法。代码如下:#include<stdio.h> int partation(int a[],int left,int right)//找出中值,并找出中值左右两边的数 { int tem=0; tem=a[left];//使临时值等于列表左边第一个数 while(left<right) { while

2022-01-08 17:11:47 718

原创 2021-11-03

打印结构体的方法如果我们想用结构体输出一个学生的姓名,分数,以及学号可采用以下办法一. 直接打印法#include <stdio.h>//创建一个结构体类型 struct stu{char name[100];int score;char id[100];};int main(){struct stu s1={"名字",100,"2021013"};printf("%s\n",s1.name);printf("%d\n",s1.score);printf("%s\

2021-11-03 22:26:48 54

原创 2021-10-31

输出整形数的二进制数补码中1的个数首先,我们最先想到循环%2 /2的方法#include<stdio.h>int main(){ int num=0,count=0; scanf("%d",&num); while(num) { if(num%2==1) count++; num=num/2; } printf("%d",count); return 0; }但是这种方法有一定的弊端,如果输入的为负数答案会错误,于是我

2021-10-31 16:22:25 58

原创 2021-10-31

交换两个数的多种算法临时变量法就相当于引入一个空瓶子t,将a里面的水先倒入空瓶子中,再将b中的水倒入a中,最后将空瓶子中的水再倒回b中,这样就完成了两个数的交换#include<stdio.h>int main(){ int a,b,t; scanf("%d%d",&a,&b); t=a; a=b; b=t; printf("%d %d",a,b); return 0; }而如果不引入临时变量如何完成两个数的交换呢第一种采用加减法

2021-10-31 10:06:15 85

原创 2021-10-24

有序数组中采用二分查找法查找元素并输出其下标如果采用一般的从头到尾循环查找,效率会比较低。于是我们采取二分查找法提高效率。比如现在在1到9的有序数组中查找7#include<stdio.h>//自定义函数 二分查找有序数组中的元素int binary_search(int arr[],int k,int sz){ int left=0; int right=sz-1;//数组末尾元素的下标 while(left<=right) { int mid=(left+r

2021-10-24 21:36:37 64

原创 2021-10-21

PTA 计算函数P(n,x)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个整数n (n>=0)和一个双精度浮点数x,输出函数p(n,x)的值(保留2位小数)。1 (n=0)x (n=1)((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n (n>1)例:括号内是说明输入样例:3 (repeat=3)0 0.9 (n=0,x=0.9)1 -9.8 (n=1,x=-9.8)

2021-10-21 11:15:30 344

原创 2021-10-20

PTA c语言8-2 组织星期信息 (3 分)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。Sunday Monday Tuesday Wednesday Thursday Friday Saturday输入输出示例:括号内为说明,无需输入输出输入样例 (repeat=3) :3TuesdayWednesdayyear结尾

2021-10-20 10:49:31 305 2

原创 2021-10-20

PTA c语言6-8 查找满足条件的所有整数 (3 分)本题要求编写程序,将输入的n个整数存入数组a中,然后在数组a中查找给定的x。如果数组a中的元素与x的值相同,输出所有满足条件的元素的下标(下标从0开始);如果没有找到,输出“Not Found”。输入格式:第1行输入一个正整数n(0<n≤10)和一个整数x,第2行输入n个整数,其间以空格分隔。题目保证数据不超过长整型整数的范围。输出格式:如果找到,输出所有与x的值相同的元素的下标,每行输出一个下标;如果没有找到,在一行中输出“Not

2021-10-20 10:37:42 2340 2

原创 2021-10-18

PTA 拼题A6-7 数组元素的删除 (3 分)完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。输入格式:第一行包括一个整数n(1<=n<=100),表示数组元素的个数。 第二行输入n个数组元素,均为整数,用空格隔开。 第三行输入一个数k(1<=k<=100),表示要进行k次删除。 接下来k行,每行一个数x,表示要删除第x个元素。输出格式:输出经过k次删除后的数组

2021-10-18 20:10:34 137

原创 2021-10-17

Pta拼题A C语言用数组计算fibonacci数列的前12个数,并按每行打印3个数的格式输出。输入格式:无输入输出格式:请使用%6d的格式输出;注意输出最后一个数字后,有一个换行输出样例:1 1 23 5 813 21 3455 89 144我的代码:#include <stdio.h>int main(){int i,j,a[12];a[1]=1;a[2]=1;for(i=3;i<=12;i++

2021-10-17 19:23:51 725

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除