zoukankan      html  css  js  c++  java
  • 数据结构基础_对一个数组进行升序排序

    #include <stdio.h>
    #include <stdlib.h>
    
    #define MAX_SIZE 101
    /**
    * 交换两个数  宏定义方式
    * @param x  交换数1
    * @param y  交换数2
    * @param t  临时变量
    */
    #define SWAP(x,y,t) ((t) = (x), (x) = (y), (y) = (t))
    
    
    void sort(int list[],int n);
    
    int main(){
    	int i, n;
    	int list[MAX_SIZE];
    	printf("请输入数组个数\n");
    	scanf("%d", &n);
    	if(n < 1 || n > MAX_SIZE){
    		fprintf(stderr, "输入数组有误,程序将退出");
    		exit(EXIT_FAILURE);
    	}
    
    	for(i = 0; i < n; i++){
    		list[i] = rand() % 1000;
    		printf("%d  ",list[i]);
    	}
    	sort(list, n);
    	printf("\n升序排序之后的数组为\n");
    	for(i = 0; i < n; i++){
    		printf("%d  ", list[i]);
    	}
    	printf("\n");
    
    	return 0;
    }
    
    /**
    * @param list  待排序数组
    * @param n     待排序数组大小
    */
    void sort(int list[], int n){
    	int i, j, min, temp;
    
    	for(i = 0; i < n -1; i++){
    		min = i;   //假设最小位置为第i个
    		for(j = i + 1; j < n; j++){  //遍历数组(i+1~n)项
    			if(list[j] < list[min]){   //如果有比这个项更小的
    				min = j;
    			}
    		}
    		SWAP(list[i], list[min], temp);
    	}
    }
    



    作者:沙漏哟
    出处:计算机的未来在于连接
    本文版权归作者和博客园共有,欢迎转载,请留下原文链接
    微信随缘扩列,聊创业聊产品,偶尔搞搞技术
  • 相关阅读:
    Java 集合(静态导入)
    Java 集合 (Collections、Arrays)
    Java 异常
    Java 多态
    Java 继承

    内网服务器配置访问公网
    替换centos的原生yum源为阿里云yum源
    centos7安装杀毒软件ClamAV
    linux程序名称带devel跟不带的区别
  • 原文地址:https://www.cnblogs.com/yeahwell/p/5226023.html
Copyright © 2011-2022 走看看