数据结构与算法
Mr_monkey95512
仰望星空 脚踏实地
展开
-
排序算法
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序转载 2016-05-21 17:48:10 · 297 阅读 · 0 评论 -
不用第三个变量交换两个变量
就地交换两个数是比较经典而且基础的算法之一。 我们要交换两个数字,通常的做法就创建一个中间变量,然后进行循环赋值,比如说下面的代码:void Switch(int* p1, int* p2){ int tmp = *p1; *p1 = *p2; *p2 = tmp;}这种做法是最常见的一种交换两个数字的方法,但研究算法的人总是会提出比较诡转载 2017-01-07 16:55:51 · 630 阅读 · 0 评论 -
找出给定字符串中第一个重复的字符串
方法一:public class DiYiChongFu { public static void main(String[] args) { String s="abacghfgbba"; System.out.println(getChar(s)); } public static char getChar(String s){ int[] Ans = new i原创 2017-01-07 17:30:57 · 564 阅读 · 0 评论 -
打印乘法口诀表的两种方法
#include/*通过一层for循环打印9*9乘法口诀表*/int main(void){for(int i=1,j=1;j{printf("%d*%d=%d ",i,j,i*j);if(i==j){i=0;j++;printf("\n");}}return 0;}#include/*通过双重for循环打印9*原创 2017-02-18 12:32:03 · 773 阅读 · 0 评论