数据结构-第七章-排序
learning123456789
这个作者很懒,什么都没留下…
展开
-
插入排序-折半插入排序
笔记:既然是在有序表中确定插入位置,因此可以在寻找插入位置时,就可以采用折半查找的方法来确定。#include<stdio.h>void binaryInsertSort(int a[],int n){ int i=0; for(i=2;i<=n;i++) { a[0]=a[i];//保存待插入元素 int ...原创 2019-08-02 15:49:45 · 127 阅读 · 0 评论 -
插入排序-希尔排序
注意:步长因子除1外应没有公因子,且最后一个步长因子因子必须为1。#include<stdio.h>void insertShellSort(int a[],int n,int d[],int t){ int k=0; for(k=0;k<t;k++) { int span=d[k];//步长因子,本趟的增量 int...原创 2019-08-03 09:30:43 · 69 阅读 · 0 评论 -
交换排序-冒泡排序
#include<stdio.h>void swapBubbleSort(int a[],int n){ int i=0; int j=0; int swap=0;//置换标志 for(i=1;i<n;i++)//对于有n个数字的数组,一共有n-1趟,i<=n-1;即i<n { swap=0;...原创 2019-08-03 10:23:33 · 92 阅读 · 0 评论 -
交换排序-快速排序
快排是一个步稳定的排序方法。#include<stdio.h>int n;int swapPartition(int a[],int low,int high)//一趟划分算法如下{ a[0]=a[low]; while(low<high) { while(low<high&&a[high]>=a[0]...原创 2019-08-04 13:52:56 · 138 阅读 · 0 评论 -
选择排序-简单选择排序
简单选择排序是一种不稳定的选择排序。#include<stdio.h>void selectSeletSort(int a[],int n){ int i,j,k; for(i=1;i<n;i++) { int k=i; for(j=i+1;j<=n;j++) { if(...原创 2019-08-04 14:41:01 · 139 阅读 · 0 评论 -
插入排序-直接插入排序
学习简要笔记:直接插入排序的基本操作是向有序表中插入一个记录,在直接插入排序中,插入位置的确定是通过对有序表中关键码的顺序比较得到的。排列顺序:从小到大#include<stdio.h>void directInsertSort();int main(){ int n; int a[10000]; scanf("%d",&n); in...原创 2019-08-01 18:40:11 · 112 阅读 · 0 评论