C
没名字的菜狗子
这个作者很懒,什么都没留下…
展开
-
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字
/* 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9 0 -1输出样例:7 */#include <stdio.h>#include <stdlib.h>// 定义链表节点结构typ原创 2021-03-19 11:27:21 · 8377 阅读 · 2 评论 -
指针笔记
存放变量的的地址需要一种特殊类型的变量,即指针变量其定义形式如下//类型关键字 * 指针变量名;char *pa; //定义一个指向字符型数据的指针变量 paint *pb; //定义一个指向整型数据的指针变量 pb1. 显示变量地址值#include <stdio.h>void main(){ char *pa; int *pb; int a = 5; char b = 'A'; pa = &a; //将int型指针指向a原创 2021-02-27 20:36:17 · 100 阅读 · 0 评论 -
二叉树四种遍历方式-先序/中序/后序/层序
以先序方式创建一颗二叉树:创建一棵图形如下的二叉树// 示例二叉树 a / \ b c \ \ d e / f代码示例:#include <stdio.h>#include <stdlib.h>//定义二叉树结点结构typedef struct BNode{ char data; struct BNode *lchild原创 2021-02-26 18:54:34 · 166 阅读 · 0 评论 -
排序算法-③插入排序
/*排序算法-插入排序*/#include <stdio.h>void insertion_sort(int arr[],int len){ int i,j,temp; for(i=1; i<len; i++) { temp = arr[i]; for(j=i; j>0 && arr[j-1]>temp; j--) { arr[j] = arr[j-1];原创 2021-02-21 15:22:44 · 101 阅读 · 0 评论 -
排序算法-②选择排序
工作过程:首先,在还未进行排序的序列中找到最小的元素,将其与序列起始位置元素交换,然后,将剩余的待排序序列中继续寻找最小的元素,并使之与已排序元素之后元素交换位置,依次直至排序完成。/*排序算法-选择排序*/#include <stdio.h>void selection_sort(int arr[],int len){ int i,j,k,temp; for(i=0; i<len-1; i++) { k = i; //用于记录最小值,初原创 2021-02-21 10:58:52 · 127 阅读 · 0 评论 -
排序算法-①冒泡排序
/*排序算法-冒泡排序*/#include <stdio.h>void bubble_sort(int arr[],int len){ int i,j,temp; for(i=0; i<len-1; i++) { for(j=0; j<len-1-i; j++) //其中"-i"中的i表示已经到达最终位置的元素个数 { if(arr[j]>arr[j+1]) {原创 2021-02-21 10:34:03 · 89 阅读 · 0 评论