数据结构与算法
数据结构与算法学习笔记
lqfsharks
这个作者很懒,什么都没留下…
展开
-
头指针,头节点,首元节点
一.头指针指向头节点的指针,链表必须要有,如果没有头节点则指向首元节点。二.头节点指向首元节点的节点,链表可以没有,数据域可以不存放数据也可存放链表的长度等信息。三.头节点作用.便于增删(1).当有头节点时,无论增删位置在哪里都可以用同一套代码。(1).当没有头节点时,增删位置在第一个与其他位置的代码不一致。.对于带头节点的链表,头指针指向头节点,因此非空表雨空表的原创 2014-12-01 13:30:31 · 837 阅读 · 0 评论 -
二分查找
public static int binarySearch(Integer[] srcArray, int des) { int low = 0; int high = srcArray.length - 1; while ((low 1) && (high 1)) { int middle原创 2015-05-21 18:20:38 · 290 阅读 · 0 评论 -
递归(累加)
转载地址:http://blog.csdn.net/hanshileiai/article/details/6690554public class MethoDemo06{ public static void main(String args[]){ System.out.println("计算结果:" + sum(100)) ; // 调用操作转载 2015-05-19 09:31:12 · 398 阅读 · 0 评论 -
求数组最小值
int minValue(int arr[]){ int min = arr[0]; for (int i = 0; i < 8; i++) { if (arr[i] < min) { min = arr[i]; } } return min;}int _tmain(int argc, _TCHAR* argv[]){ int arr[] = {1, 3,原创 2015-07-27 16:27:55 · 911 阅读 · 0 评论 -
排序
void sort(int arr[], int len){for (int i = 0; i {int max = arr[i];int maxIndex = i;for (int j = i + 1; j {if (arr[j] > max){max = arr[j];maxIndex = j;}}int temp = arr[i];原创 2015-08-03 10:45:54 · 305 阅读 · 0 评论 -
排序2
void sort2(int arr[], int len){for (int i = 1; i {for (int j = 0; j {if (arr[i] > arr[j]){int temp = arr[i];for (int k = i -1; k >= j; k--){arr[k + 1] = arr[k];}arr[j] = temp原创 2015-08-03 11:28:54 · 286 阅读 · 0 评论 -
二分查找
int binarySearch(int arr[], int len, int num){int start = 0;int end = len - 1;int middle = (start + end) / 2;while (start {if (num > arr[middle]){start = middle + 1;middle = (start原创 2015-08-04 08:52:50 · 304 阅读 · 0 评论 -
求最大公约数
// 求最大公约数 // 分解:1.约数 2.公共 3.最大 public int getMaxDivisor(int a, int b) { int maxNum = (a > b) ? a : b; int minNum = (a > b) ? b : a; int maxDivisor = 1; for (int i = 1; i <= minNum; i++)原创 2015-12-21 09:47:39 · 452 阅读 · 0 评论