- 博客(6)
- 收藏
- 关注
原创 基础排序:快速排序
快速排序:和归并排序一样,用了分治的思想,不过分的有些不同,归并排序是先把数组分的很小很小在进行简单的操作从而达到目的,也就是先分在排序,但是快速排序是先排序再分,我觉得快速排序把数字转来转去,其意思就是找到这个数在这个数组的位置,而且找到就不会变,有些像选择排序的意思,但是快速排序在比较的过程中没有为之后的操作做便利,快速排序不像选择排序那样固定的找,它把数分成了二类,原来选择排序每找一次只会在循
2017-11-28 19:52:09 211
原创 基础排序:归并排序
归并排序:把一个数组不断的一分为二,直到每个只有一个数,然后按照分的顺序再把它合并,合并的时候比较大小,使每个合并的序列都是有序的,合到最后原序列就是有序的了;#include<stdio.h> void swap(int &x,int &y) { int temp; temp=x; x=y; y=temp; } void pr(int a[],int n) {
2017-11-28 16:55:32 155
原创 基础排序:希尔排序
#include<stdio.h> void swap(int *x,int *y) { int temp; temp=*x; *x=*y; *y=temp; } void pr(int a[],int n) { for(int i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); }void
2017-11-28 13:14:07 179
原创 基础排序:插入排序
插入排序:二个序列,一号序列放的是有序序列,二号序列是无序的,最终的目的是要一号序列是二号序列排好的样子; 首先一号序列是空的,那就取一个数从二号序列中然后放到一号中,总所周知,一个数的序列肯定是有序的,然后继续执行这个操作,从二号序列中取一个数放到一号序列的后面,你要保证的是一号序列在放下一个数之前的数都是有序的,所以,你放进去的时候要比较和前一个的大小,如果按照从小到大的顺序,你要保证你放的数
2017-11-28 11:02:33 273
原创 基础排序:选择排序
选择排序: 选中一个位置,让这个位置上的数和其他数比较,比较得到相对而言大的数或者小的数(按你的排序方式决定),再用一个变量去记录这个数的位置,然后再用这个数去和其他的数比较,从而更改位置,这样就可以得到比较的数中最大的或是最小的数的位置,然后把这个位置上的数和之前选中的位置上的数进行交换————这样是一个循环,第二个循环的时候把之前选中位置的数去除,也就是比较的时候不要包括在内,在进行一样操作,
2017-11-28 10:12:43 183
原创 基础排序:冒泡排序
冒泡排序: 一位一位 的把大到小或是从小到大的数字按照顺序安放到正确的位置; 比如: 4 5 2 1 9 8 从小到大排的话,第一次循环应该安放最大的数到最后,也就是9 , 先是4 和 5 比较,如果这二个的顺序是你想要的顺序(就像你要从小到大,那4是小于5的)那就不用交换,但是5和2 是不行就要交换位置,按照这样可以把最大的数交换到最后的位置;代码 #include <stdio.h>
2017-11-27 12:15:25 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人