标签:pac def cpp name ++ 交换 屏幕 最小 iss
/* * @Issue: 数组排序:从键盘读入多个整数,要求对这些整数实现从小到大或从大到小排序, 屏幕上输出排序结果。冒泡、选择、插入三种排序算法都可以 * @Author: 一届书生 * @LastEditTime: 2020-02-21 13:35:46 */ #include<iostream> #include<stdio.h> using namespace std; #define num 10 int a[100];//待排序数组 // 冒泡排序 从小到大 void bubble(int *p,int len){ int t=0; for(int i=0;i<len-1;i++){ for(int j=i+1;j<len;j++){ if(*(p+i)>*(p+j)){ //若想从大到小 改成<即可 swap(*(p+i),*(p+j)); } } } } // 插入排序 void insert(int *p , int len){ int i,j,key; for(i=1;i<len;i++){ //从第二个数开始判断 key=*(p+i); //取一下第二个数 j=i-1; //遍历第i个数之前的数 while(j>=0&&*(p+j)>key){ *(p+j+1)=*(p+j); j--; } *(p+j+1)=key; } } // 选择排序 void select(int *p , int len){ int minindex, temp; for(int i = 0; i<len-1;i++) { minindex = i; for(int j = i+1; j<len; j++) { if(*(p+j)<*(p+minindex)) minindex = j; //遍历余下的数组 找一个最小的,与第i个位置的数交换 } swap(*(p+i),*(p+minindex)); } } int main(){ for(int i=0;i<num;i++){ cin>>a[i]; } // bubble(a,num); //冒泡排序 // insert(a,num); //插入排序 select(a,num); for(int i=0;i<num;i++){ cout<<a[i]<<" "; } return 0; }
标签:pac def cpp name ++ 交换 屏幕 最小 iss
原文地址:https://www.cnblogs.com/52dxer/p/12341073.html