zoukankan      html  css  js  c++  java
  • 选择、插入排序

    #include <stdio.h>
    #include <time.h>
    
    #define MAX 100
    
    void cha_ru (int *ar) {
    	int i, j, c, b;
    	for (i = 1; i < MAX; ++i) {
    		for (j = 0; j < i; ++j) if (ar[j] > ar[i]) break;
    		if (!(j ^ i)) continue;
    		for (c = i - 1,b = ar[i]; c >= j; --c) ar[c + 1] = ar[c];
    		ar[j] = b;
    	}
    }
    
    void xuan_ze (int *ar) {
    	int i, j, min;
    	for (i = 0; i < MAX; ++i) {
    		min = i;
    		for(j = i + 1; j < MAX; ++j) 
    			if (ar[min] > ar[j]) min = j;
    		if (min == i) continue;
    		ar[i] ^= ar[min];
    		ar[min] ^= ar[i];
    		ar[i] ^= ar[min];
    	}
    }
    
    void put(int *ar) {
    	int i;
    	for (i = 0; i < MAX; ++i) printf("%d ", ar[i]);
    	printf("
    ");
    }
    
    void init (int *ar) {
    	int i;
    	for (i = 0, srand(time(0)); i < MAX; ++i) {
    		ar[i] = rand() % 1000;
    		printf("%d ", ar[i]);
    	}
    }
    
    int main () {
    	int ar[MAX];
    	printf("
    
    [--- 原数据 ---]
    ");
    	init(ar);
    	cha_ru(ar);
    	printf("
    [---插入排序---]
    ");
    	put(ar);
    
    	printf("
    
    
    [--- 原数据 ---]
    ");
    	init(ar);
    	xuan_ze(ar);
    	printf("
    [---选择排序---]
    ");
    	put(ar);
    	return 0;
    }
    
  • 相关阅读:
    第十八周个人作业
    十六周个人作业
    个人作业
    第十四周总结
    第十三周周末总结
    排球计分程序说明书
    我和计算机
    排球比赛记分员
    逻辑思维怎样成为一个高手
    用户故事排球教练助手
  • 原文地址:https://www.cnblogs.com/hhhahh/p/14153931.html
Copyright © 2011-2022 走看看