插入排序
来源:互联网 发布:用linux打开文件命令 编辑:程序博客网 时间:2024/05/29 04:43
//// main.c// FirstProgram//// Created by Calvin Zang on 12-4-17.// Copyright (c) 2012年 SYSU. All rights reserved.//#include <stdio.h>#include <time.h>#include <stdlib.h>typedef int TYPE;#define N 100void insertionSort(TYPE A[], int n){ int i, j; TYPE key; for(i = 1; i < n; ++i){ key = A[i]; j = i-1; while(j>=0 && A[j] > key){ A[j+1] = A[j]; --j; } A[j+1] = key; }}void insertionSortNonincreasing(TYPE A[], int n){ int i, j; TYPE key; for(i = 1; i < n; ++i){ key = A[i]; j = i-1; while(j>=0 && A[j] < key) { A[j+1] = A[j]; --j; } A[j+1] = key; }}int main(){ int A[N], i; srand(time(NULL)); for(i = 0; i < N; ++i)A[i] = rand() % 100; //insertionSort(A, N); insertionSortNonincreasing(A, N); for(i = 0 ; i < N; ++i) { printf("%d ", A[i]); if((i+1)%10==0) printf("\n"); }}