数据结构与算法
我要学好数据结构
我要开始写博客
展开
-
插入排序InsertSort-注意a[i]值的变化
在前面的几篇博客中,我们已经简单地探讨过冒泡排序、选择排序和快速排序了,今天,让我们来聊聊插入排序insertSort。 插入排序,顾名思义,就是在合适的地方插入元素,使得数组由小到大(由大到小)排列。 代码实现如下: void InsertSort(int a[],int count) { int i,j; for(i = 1;i < count; i ++) //第一次循环将0-1作为“有序区,使得a[0]和a[1]按从小到大的顺序排列 { //之后每次循环将”有序区“向后扩展原创 2020-07-21 10:30:09 · 369 阅读 · 0 评论 -
简单说下select_sort选择排序,数组表示及指针表示
void select_sort(int a[],int n) { int i,j,min; for(i = 0; i < n - 1; i ++) { min = i; for(j = i+1;j < n;j ++) { if(a[j] < a[min]) { min = j; } swap(&a[min],&a[i]); } } } 设置两层循环,外循环从0到数组的倒数第二个元素,内循环从起始元素i到数组的最后一原创 2020-07-19 10:42:20 · 559 阅读 · 0 评论 -
从递归视角理解快速排序(C语言实现)
在说快速排序之前我们先要了解递归。 递归,按照通俗易懂的理解就是自我调用。写一个自我调用的函数如下: int defined_pow(int n,int count) { if(count == 0) return 1; else return n*defined_pow(n,count -1); } 这个函数的作用是求n的count次方,当count为0时,我们返回1(任何数的0次方都等于1),当count不为0时,我们先计算n的count-1次方,再讲结果与n相乘,再返回给调用它的.原创 2020-07-18 15:41:06 · 350 阅读 · 0 评论 -
数据结构与算法之hashmap散列表查找
标题原创 2020-07-17 11:58:22 · 998 阅读 · 0 评论