自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 数据结构与算法——算法、时间空间复杂度、线性表

一.算法1.推导大O阶方法:2.常见的时间复杂度:3.最坏情况与平均情况4.算法的空间复杂度二.线性表1.线性表定义:​ 由0个或多个数据元素组成的有限序列。注意:他是一个序列;若存在多个元素,则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继;线性表强调有限的。2.线性表的顺序存储结构:结构代码:#include <stdio.h>#define MAXSZIE 20;typedef int ElemTy

2021-12-03 11:58:38 662

原创 C语言——二维数组算法问题

问题一:求矩阵各行元素之和题目要求:本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。输入样例:3 26 31 -83 12输出样例:9-715解题思路:输入行列,然后依次输入矩阵 遍历矩阵,每当遍历完一行一列,就做加法计算,并打印,然后把总和归零,继续进入下次循环 。代码实现:...

2021-11-21 15:48:09 6146

原创 C语言——字符串问题合集(1)

问题一:字符串反转题目要求:输入一个字符串(可包含任何非控制字符),对该字符串进行反转操作,操作要求,只对字母进行反转,其他非字母字符都要求保留在原地。输入格式:在一行输入长度不超过100的字符串输出格式:在一行输出对字符串中字母进行反转操作后的字符串输入样例1:a-bC-d输出样例1:d-Cb-a输入样例2:He llo+world!输出样例2:dl row+olleH!解决思路:分别从两头出发,遍历整个字符串,如果两边都是英.

2021-11-20 17:07:37 3407

原创 C语言——经典约瑟夫环问题(循环链表)

题目要求:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人自杀;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,请问:最后一个存活的人编号是多少。输入格式: 3个数n k m(含义如上题)输出格式: 最后一个出列的人编号。样例输入:6 1 2样例输出:5算法思路:约瑟夫环是一道经典的循环链表问题,每当报数到指定数字,那个人就出局,接下来的一个人重新开始报数,相当...

2021-11-19 20:36:33 2162

原创 链表删除指定节点问题

题目要求:创建一个长度为n的链表,然后删除链表的倒数第x个结点,并输出删除操作后的链表。输入样例:5 21 2 3 4 5输出样例:1>2->3->5方法一:普通链表删除操作实现:这种方法相对简单一些,主要是找到倒数第x结点的位置,然后执行删除操作,具体实现如下 :#include <stdio.h>#include <stdlib.h>typedef struct node{ int d...

2021-11-19 15:06:03 806

原创 C语言——链表(增删改查/遍历/元素个数)

链表结构体声明:首先,在创建一个链表之前,我们要先创建一个链表单个节点的结构体,分别包含数据域和指针域,具体实现如下:typedef struct node{ int data; //数据域 struct node *next; //指针域}Node,*Link;单链表的创建:创建一个带有头结点的链表,虽然不是必须的,但是很方便。Link create(){ Link head = NULL; head = (Link)malloc

2021-11-19 14:11:44 2838 2

原创 Bsearch排序(与Qsort结合)

声明:若想使用bsearch,事先需要有已排序好的数据,通常与qsort一起用。代码实现:(以结构体为例)#include <stdio.h>#include <stdlib.h>typedef struct { char name[10]; int Chinese; int math; int English; int sum;}student; student stu[7] = { {"Tom",97,68,45}, {"Jerr

2021-11-19 10:00:00 224

原创 Qsort快速排序法

题目要求:本题要求将给定的n个整数从小到大排序后输出。代码实现:#include <stdio.h>#include <stdlib.h> //qsort需要调用函数库int cmp(const void *a,const void *b); //定义一个比较函数 int main(){ int n,i; scanf("%d",&n); int arr[n]; for(i = 0;i < n;i++) {

2021-11-19 09:15:00 233

原创 冒泡排序法

题目要求:本题要求将给定的n个整数从小到大排序后输出。代码实现:#include <stdio.h>int main(){ int n,i; scanf("%d",&n); int arr[n]; for(i = 0;i < n;i++) { scanf("%d",&arr[i]); } int temp; for(i = 0;i < n - 1;i++) //注意循环条件 { for(int.

2021-11-19 08:45:00 752

原创 最大公约数(两种实现方法)

两个正整数的最大公约数是能够整除这两个整数的最大整数输入样例:50 15输出样例:5方法一:普通函数实现代码实现:#include <stdio.h>int gcd(int x,int y);int main(){ int x,y; scanf("%d %d",&x,&y); printf("%d\n",gcd(x,y)); return 0; } int gcd(int x,int y){ while(y != 0..

2021-11-19 08:00:00 1389

原创 选择排序法

题目要求:本题要求将给定的n个整数从小到大排序后输出。代码实现:#include <stdio.h>int main(){ int n,i; scanf("%d",&n); int arr[n]; for(i = 0;i < n;i++) { scanf("%d",&arr[i]); } //从小到大排序 int min,temp; for(int i = 0;i < n;i++) { min = i; .

2021-11-18 20:11:24 890

原创 C语言——双指针问题

问题一:要求编写程序,将顺序读入的n个非负整数存入数组中,然后编写一个函数,调整该数组中元素顺序,使所有偶数元素之后跟着所有奇数元素。你可以打印满足此条件的任意数组作为答案。(注意需要在原数组上操作,不能开辟一个新的空间来存数组)输入格式:第一行输入 n代表元素个数,然后依次输入 n个非负整数。输入样例:431 2 4输出样例:24 3 1(或4 2 3 1或2 4 1 3或4 2 1 3中的任意一种)思路: ...

2021-11-16 14:15:31 1758 1

原创 C语言——一维数组算法问题

问题1:将数组中的数逆序存放本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放, 再按顺序输出数组中的元素。算法描述:1.向数组a中输入元素; 2.定义一个新数组new,将数组a中的元素倒序存放; 3.将数组b正序输出,注意结尾无空格的格式问题。代码实现 :#include <stdio.h>int main(){ int n; scanf("%d",&n);...

2021-11-14 19:19:30 6828 7

空空如也

空空如也

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

TA关注的人

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