一些基础内容
冒泡从小到大排序
//冒泡
void sort(int a[], int n) { int i, j , t; for (i = 0; i < n - 1; i++) for (j=0;j<n-i-1;j++) if (a[j] > a[j + 1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } }
//选择排序
void sort(int a[], int n) { int i, j , t; for (i = 0; i < n - 1; i++) for (j=1;j<n-1;j++) if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; } }
冒泡原理:根据条件俩俩比较,交替互换。
例子:有十个人,如何根据他们的身高从低到高排序呢?
方法:第一个人和第二个人比,将矮的放前面,第二个人与第三个人比较,将矮的放前面,比较9轮,相对来说,矮的位置在不断向前,高的不断往后,进行10轮之后,最矮的就会排到最前面,假设最矮的人一开始站在最后,那么
如果按照这个方法想要排到最前面,要经过几轮的比较?答案是9轮。
选择排序原理:将第一个与其余进行比较
方法:第一个人和第二个人比身高,矮的人站第一个位置,依次与其他九个人比较,一轮之后第一个位置的人一定是最矮的,然后第二个人再与其他八个人进行比较,最后完成排序