最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡(jiǎn)單了解C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn)

 更新時(shí)間:2016年03月12日 11:26:26   作者:lixiang0522  
這篇文章主要介紹了C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn),插入排序的基本操作就是將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個(gè)新的、個(gè)數(shù)加一的有序數(shù)據(jù),需要的朋友可以參考下

直接插入排序
基本思路:
1. 從a[0]開始,也就是從1個(gè)元素開始是有序的,a[1]~a[n-1]是無序的。
2. 從a[1]開始并入前面有序的數(shù)組,直到n-1。

#include <stdio.h> 
#define N 5 
 
void insertsort(int a[], int n); 
void swap(int *x, int *y); 
 
void insertsort(int a[], int n){ 
  int i,j; 
  for(i=1; i<n; i++){ 
    for(j=i; j>0 && a[j]<a[j-1]; j--){ 
      swap(&a[j], &a[j-1]); 
    }   
  } 
} 
 
void swap(int *x, int *y){ 
  int i = *x; 
  *x = *y; 
  *y = i; 
} 
 
int main(void){ 
  int a[N] = {2, 5, 3, 1, 8}; 
  insertsort(a, N); 
  int i; 
  for(i=0; i<N; i++) 
    printf("%d ", a[i]); 
  return 0; 
} 


直接選擇排序

基本思路:
1. 從1開始通過對(duì)比找出最小的數(shù)的下標(biāo)。然后把這個(gè)下標(biāo)的值和0交換。
2. 循環(huán)把值交換到1 2 3 ... n-1。

#include <stdio.h> 
#define N 5 
 
void selectsort(int a[], int n); 
void swap(int *x, int *y); 
 
void selectsort(int a[], int n){ 
  int i,j; 
  for(i=0; i<n; i++){ 
    int min = i; 
    for(j=i+1; j<n; j++){ 
      if(a[j] < a[min]){ 
        min = j; 
      } 
    } 
    swap(&a[i], &a[min]); 
  } 
} 
 
void swap(int *x, int *y){ 
  int i = *x; 
  *x = *y; 
  *y = i; 
} 
 
int main(void){ 
  int a[N] = {2, 5, 3, 1, 8}; 
  selectsort(a, N); 
  int i; 
  for(i=0; i<N; i++) 
    printf("%d ", a[i]); 
  return 0; 
} 


相關(guān)文章

最新評(píng)論

登封市| 武川县| 泰和县| 洪洞县| 巴彦县| 宜都市| 峨眉山市| 长汀县| 岳阳市| 海晏县| 文水县| 富顺县| 巴彦淖尔市| 巍山| 静乐县| 韶山市| 菏泽市| 桃源县| 永寿县| 桐梓县| 广宁县| 辽阳市| 紫云| 滨州市| 闻喜县| 陆川县| 禹州市| 鸡西市| 汾阳市| 芮城县| 观塘区| 蓬莱市| 巴青县| 天祝| 太白县| 扎兰屯市| 阿勒泰市| 天门市| 松滋市| 宜黄县| 乌苏市|