-
2015-03-29 12:51:47#include <iostream>
using namespace std;
template <class T>
void sort(T* a, int n)
{
int t;
T temp;
for (int i=0; i<n-1; i++)
{
t=i;
for (int j=i+1; j<n; j++)
{
if (*(a+t)>*(a+j))
t=j;
}
temp=*(a+i);
*(a+i)=*(a+t);
*(a+t)=temp;
}
}
static float arr0[6]={2.0,65.0,9.0,78.0,88.0,-2.0};
static double arr1[6]={558.0,999.0,123.0,222.0,55.0,456.0};
static int arr2[6]={123,456,789,654,321,5};
void main()
{
cout<<"float exp."<<endl;
for (int i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
sort(arr0, 6);
for (i=0; i<6; i++)
{
cout<<arr0[i]<<" ";
}
cout<<endl;
cout<<"double exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
sort(arr1, 6);
for (i=0; i<6; i++)
{
cout<<arr1[i]<<" ";
}
cout<<endl;
cout<<"int exp."<<endl;
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
sort(arr2, 6);
for (i=0; i<6; i++)
{
cout<<arr2[i]<<" ";
}
cout<<endl;
}更多相关内容 -
编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型,单精度型、双精度型。
2021-10-19 16:39:43这里用了快速排序法。 #include <iostream> using namespace std; void swap(int* a, int* b); void sort1(int* array, int n); void sort2(int* array, int left, int right); void swap(float* a, float*...1.用重载函数实现。
这里用了快速排序法。
#include <iostream> using namespace std; void swap(int* a, int* b); void sort1(int* array, int n); void sort2(int* array, int left, int right); void swap(float* a, float* b); void swap(double* a, double* b); void sort1(float* array, int n); void sort1(double* array, int n); void sort2(float* array, int left, int right); void sort2(double* array, int left, int right); int main(void) { int n; cin >> n; cout << "输入n个数:n=" << n << endl; // 1代表整数, 2代表单精度浮点型float , 3代表双精度浮点型double int co; cout << "类型为co=" ; cin >> co; if (co == 1) { cout << ",整数" << endl; int x; int* num = new int[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } if (co == 2) { cout << ",单精度浮点型" << endl; float x; float* num = new float[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } if (co == 3) { cout << ",双精度浮点型" << endl; double x; double* num = new double[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } return 0; } void swap(int* a, int* b) { int temp; temp = *b; *b = *a; *a = temp; } void swap(float* a, float* b) { float temp; temp = *b; *b = *a; *a = temp; } void swap(double* a, double* b) { double temp; temp = *b; *b = *a; *a = temp; } void sort1(int* array, int n) { sort2(array, 0, n - 1); } void sort1(float* array, int n) { sort2(array, 0, n - 1); } void sort1(double* array, int n) { sort2(array, 0, n - 1); } void sort2(int* array, int left, int right) { int left_index = left; int right_index = right; int pivot = array[(left + right) / 2]; while (left_index <= right_index) { for (; array[left_index] < pivot; left_index++); for (; array[right_index] > pivot; right_index--); if (left_index <= right_index) { swap(&array[left_index], &array[right_index]); left_index++; right_index--; } } if (right_index > left) { sort2(array, left, right_index); } if (left_index < right) { sort2(array, left_index, right); } } void sort2(float* array, int left, int right) { int left_index = left; int right_index = right; float pivot = array[(left + right) / 2]; while (left_index <= right_index) { for (; array[left_index] < pivot; left_index++); for (; array[right_index] > pivot; right_index--); if (left_index <= right_index) { swap(&array[left_index], &array[right_index]); left_index++; right_index--; } } if (right_index > left) { sort2(array, left, right_index); } if (left_index < right) { sort2(array, left_index, right); } } void sort2(double* array, int left, int right) { int left_index = left; int right_index = right; double pivot = array[(left + right) / 2]; while (left_index <= right_index) { for (; array[left_index] < pivot; left_index++); for (; array[right_index] > pivot; right_index--); if (left_index <= right_index) { swap(&array[left_index], &array[right_index]); left_index++; right_index--; } } if (right_index > left) { sort2(array, left, right_index); } if (left_index < right) { sort2(array, left_index, right); } }
2.用函数模版
#include <iostream> using namespace std; template <class T> void swap(T* a, T* b) { T temp; temp = *b; *b = *a; *a = temp; } template <class T> void sort2(T* array, int left, int right) { int left_index = left; int right_index = right; T pivot = array[(left + right) / 2]; while (left_index <= right_index) { for (; array[left_index] < pivot; left_index++); for (; array[right_index] > pivot; right_index--); if (left_index <= right_index) { swap(&array[left_index], &array[right_index]); left_index++; right_index--; } } if (right_index > left) { sort2(array, left, right_index); } if (left_index < right) { sort2(array, left_index, right); } } template <class T> void sort1(T* array, int n) { sort2(array, 0, n - 1); } int main(void) { int n; cin >> n; cout << "输入n个数:n=" << n << endl; // 1代表整数, 2代表单精度浮点型float , 3代表双精度浮点型double int co; cout << "类型为co="; cin >> co; if (co == 1) { cout << ",整数" << endl; int x; int* num = new int[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } if (co == 2) { cout << ",单精度浮点型" << endl; float x; float* num = new float[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } if (co == 3) { cout << ",双精度浮点型" << endl; double x; double* num = new double[n]; for (int i = 0; i < n; i++) { cin >> x; num[i] = x; } sort1(num, n); for (int i = 0; i < n; i++) { cout << num[i] << " "; } delete[] num; } return 0; }
默默无闻的菜鸟小白。。。
-
C++_对n个数据进行从小到大的排序
2021-09-09 13:59:35C++_对n个数据进行从小到大的排序 #include<iostream> using namespace std; /** * 对n个数据进行从小到大的排序 * @project C++_Demo * @author CaoPengCheng * @date 2021-09-09 * @version 1.0.0 */ ...C++_对n个数据进行从小到大的排序
#include<iostream> using namespace std; /** * 对n个数据进行从小到大的排序 * @project C++_Demo * @author CaoPengCheng * @date 2021-09-09 * @version 1.0.0 */ class Number{ private: int n; int a[100]; public: Number(){ } Number(int N){ n=N; } void sort(){ for(int i=0;i<n-1;i++) for(int j=0;j<n-i-1;j++) if(a[j]>a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } void input(){ cout<<"intput a[]:"; for(int i=0;i<n;i++){ cin>>a[i]; } } void printf(){ cout<<"a[]="; for(int i=0;i<n;i++) cout<<a[i]<<" "; } void setN(int N){ n=N; } int getN(){ return n; } }; int main(){ Number number; int n; cout<<"input N:"; cin>>n; number.setN(n); cout<<"N is:"<<number.getN()<<endl; number.input(); number.printf(); cout<<endl<<"sort "; number.sort(); number.printf(); cout<<endl; return 0; }
-
C++ 用同一个函数名对n个数据进行从小到大的排序,数据类型可以是整型、单精度、双精度型,用重载函数实现...
2022-04-19 23:48:12源程序代码: #include <iostream> using namespace std;...int sort(int* p, int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (p[i] > p[j]) { int x; ..源程序代码: #include <iostream> using namespace std; int sort(int* p, int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (p[i] > p[j]) { int x; x = p[j]; p[j] = p[i]; p[i] = x; } } } for (int k = 0; k < n; k++) cout << p[k] << " "; return 0; } float sort(float* p, int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (p[i] > p[j]) { float x; x = p[j]; p[j] = p[i]; p[i] = x; } } } for (int k = 0; k < n; k++) cout << p[k] << " "; return 0; } double sort(double* p, int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (p[i] > p[j]) { double x; x = p[j]; p[j] = p[i]; p[i] = x; } } } for (int k = 0; k < n; k++) cout << p[k] << " "; return 0; } int main() { int a, n; cout << "您需要比较什么类型的数:\n1.整型\n2.单精度\n3.双精度" << endl << "输入类型前的编号:" << endl; cin >> a; cout << "请输入您需要比较数据的个数:" << endl; cin >> n; cout << "请输入" << n << "个需要比较的数\n"; if (a == 1) { int* p = new int[n]; for (int i = 0; i < n; i++) cin >> p[i]; sort(p, n); } if (a == 2) { double* p = new double[n]; for (int i = 0; i < n; i++) cin >> p[i]; sort(p, n); } if (a == 3) { float* p = new float[n]; for (int i = 0; i < n; i++) cin >> p[i]; sort(p, n); } return 0; }
运行结果截图:
-
【C++】用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型,单精度型,双精度型,分别用函数...
2020-10-22 17:57:38用函数重载实现: #include <iostream> using namespace std;...int sort(int* p, int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { if (p[i] > p[j]) { int x; -
用同一个函数名对n个数据进行从小到大排序 用函数模板
2015-03-29 12:55:49#include using namespace std;...void sort(T* a, int n) { int t; T temp; for (int i=0; i { t=i; for (int j=i+1; j { if (*(a+t)>*(a+j)) t=j; } temp=*(a+ -
编写一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整形,单精度,双精度。...
2015-04-19 21:43:56#include #include using namespace std; int main() { int pl(int *q,int n); double pl(double *p,int n); float pl(float *p,int n);...cout请输入您需要比较数据的个数:" cin>>n; cout请输入 -
C++用快速排序法对一组数据进行从小到大排列
2018-09-29 22:22:22快速排序法:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小,然后再按此方法对这两部分数据分别进行快速排序(此过程可以用到函数递归的方法)。 #include #... -
用冒泡排序法函数求对n个整数从小到大排序
2021-12-14 23:52:55//用冒泡排序法将输入的n个数进行从小到大的排列 /* 我们写一个函数,引用函数解决问题;这个函数最重要的思想如下:1:每次将相邻的两个数对比,将小的调到前面 m=a[j]; a[j]=a[j-1]; a[j-1]=m; 就是这一... -
【指针】使用插入排序法将n个数从小到大进行排列
2022-05-31 21:46:31编写程序,使用插入排序法将n个数从小到大进行排序。(用指针实现) main函数 测试 测试输入 1 2 7 6 8 5 4 2 0 输出 1 2 2 4 5 6 7 8 -
用冒泡排序对N个数从小到大排序
2018-11-02 15:11:48#include <stdio.h&...#define N 5 int main() { int a[N],i,j,t; for(i=0;i<N;i++) scanf("%d",&a[i]); for(i=1;i<=N-1;i++) for(j=0;j<N-i;j++... -
【c语言】用选择法对数组中的n个元素按从小到大的顺序进行排序
2021-12-24 20:55:40/*用选择法对数组中的n个元素按从小到大的顺序进行排序*/ #include <stdio.h> #define N 20 void fun(int a[], int n) { int i, j, t, p; for (j = 0; j < n - 1; j++) { p = j; for (i = j; i <... -
C++编写一个程序,用同一个函数名对n个数据进行从小到大的排序,数据类型可以是整型,单精度实型,双精度...
2019-03-30 16:33:16#include <iostream>...void sort(int a[],int n) { int temp; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) { if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } void ... -
输入n个数从小到大排列,选择排序法
2021-10-30 17:22:41 -
依次去掉n中的某一位数字,得到m个整数,并将这m个整数按从小到大的次序排列后输出.docx
2021-10-04 19:23:27将数组a中的m个元素从小到大排序; (3)定义函数void output(int a[],int m); 依次输出数组a中的m个元素; (4)在主函数中输入一个整数,并对输入范围进行合法化的判断,对输入的数据进行处理,输出处理结果。 -
C语言:编写函数用冒泡排序法对数组中的数据进行从小到大的排序.
2021-02-05 07:30:23【程序设计】--------------------------------------------------功能:编写函数用冒泡排序法对数组中的数据进行从小到大的排序。*********Begin**********和**********End*********...【程序设计】---------------... -
用选择法对10个整数从小到大排序
2020-12-18 01:51:11展开全部用选择法对10个整数排序,用scanf输入。你用下62616964757a686964616fe78988e69d8331333366303235面这种输入方法就可以了。# includeint main(){int i,j,min,temp,a[10];printf("enter data:\n");for (i=0;i... -
N个数从小到大排序
2019-12-16 19:49:24输入一个正整数N和N个整数,将它们按从小到大的顺序进行排序后输出。 输入 输入一个正整数N(1≤N≤100)和N个整数,用空格分隔。 输出 将这N个数按从小到大的顺序重新输出 样例输入 10 -4 5 12 88 23 -9 2 0 8 10 5... -
对一个含有N整数的数组,使用堆排序让其由小到大输出
2018-12-20 21:21:05对一个含有N整数的数组,使用堆排序让其由小到大输出 样例输入 6 43 2 56 1 22 9 样例输出 1 2 9 22 43 56 堆排序 对一个含有N整数的数组,使用堆排序让其由小到大输出 样例输入 6 43 2 56 1 22 9 样例输出 1 2 9 ... -
编写一个程序,用相同函数名的函数对输入的N个数据从小到大排序并输出,数据类型可以是int,float,double
2020-03-26 20:54:07整体排序的思路: 1.找到输入数组中的最小元素 2.把找到的最小元素赋给另一个空数组 3.删除刚找到的最小元素...//int类型数据的排序 void sort(int n,int a[100],int b[100]) { int i,j,k; int m=n; cout<<... -
对任一正整数n,按从小到大的顺序输出所有不超过2^n-1的梅森数-C语言代码
2020-05-22 16:33:47课程的随堂作业,C语言的,用dev就能运行,萌新代码,勿喷,仅仅帮助不想写作业的朋友方便一下,反正老师也不会仔细检查的 -
冒泡排序对N个数由小到大排序
2019-03-29 21:40:00#include <stdio.h> #define N 5 void main() { int a[N]; int i,j,temp;... printf("请输入待排序的数据: \n"); for (i=0;i<N;i++) scanf("%d",&a[i]); for (i=1;i&l... -
功能:对输入的10个数,用选择排序的方法进行排序,按从小到大的次序输出。填空,求大佬解答
2021-01-30 21:27:19要求:如输入141812151015926输出的每次的排序结果是i=1:118121510145926i=2:121215101459186i=3:125151014129186i=4:125610141291815i=5:125691412101815i=6:125691012141815i...要求:如输入14 18 12 15 10 ... -
c语言:利用冒泡算法对10个数字进行从小到大的排序
2021-07-15 09:53:40利用冒泡算法对10个数字进行从小到大的排序 #include <stdio.h> int main() { int a[10]; int i,j,t; printf("请输入10个数字:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); ... -
C语言:任意输入5个数据,从小到大排序
2021-07-29 09:29:18//任意输入5个数据,从小到大排序 #include <stdio.h> int main(int argc,char const *argv[]) { int len = 5; int temp; printf("请输入你要输入数字的的个数:\n"); scanf("%d",&len); int arr... -
从键盘输入n个数 按从小到大的顺序排列输出
2020-10-11 13:43:26printf("请输入10个数:\n"); for(int i=0;i<=9;i++) { scanf("%d",&a[i]); } for(int j=0;j<=8;j++) for(int i=0;i<=8-j;i++) { if(a[i]>a[i+1]) { int -
计算机将数据进行升序排列(从小到大),并把排序结果输出。
2021-11-09 21:16:07/* * @Description: * @Version: 1.0 * @Author: Jiaoz * @Email: jiaozzzzzzzz@qq.com * @Date: 2021-11-09 18:53:07 */ #include<iostream> using namespace std;... pa,int n){ . -
Python实现冒泡排序,从小到大输出(bubble)
2022-01-06 21:35:02用python实现冒泡算法,给你一个包含若干值的列表,将他们从小到大排序输出 -
C++选择排序法实现数字从小到大排列
2018-09-28 21:09:21#include #include <time.h> using namespace std; ...void srandData(int *, int );...//选择排序具体实现函数 void swap(int *, int *);//两个数字实现交换的函数 void display(int *, int );... -
冒泡排序(用起泡法(冒泡排序)对n个整数排序并输出从小到大排序后的结果。)
2021-11-23 10:34:38冒泡排序
收藏数
114,368
精华内容
45,747