包括转置函数transport
template2.sort函数class mat { private: T** a; //二级指针 int h, l; //行、列 public: mat(){} mat(int h1, int l1) { h = h1; l = l1;//设置行列 a = new T * [h]; for (int i = 0; i < h; ++i) { a[i] = new T[l]; }//创造二维数组 } void set(int h1,int l1) { h = h1; l = l1; a = new T * [h]; for (int i = 0; i < h; ++i) { a[i] = new T[l]; } for (int i = 0; i < h; i++) { for (int j = 0; j < l; j++) { cin >> a[i][j];//传入数据 } } } ~mat() { for (int i = 0; i < h; ++i) { delete[] a[I]; } delete[] a;//析构 } void tran()//转置 { mat tmp(l,h);//创造新数组接收传进的数组 for (int j = 0; j < l; j++) { for (int i = 0; i < h; i++) { tmp.a[j][i] = a[i][j]; } } for (int i = 0; i < h; ++i) { delete[] a[i]; } delete[] a;//释放掉原来的 h = tmp.h; l = tmp.l; a = new T * [h]; for (int i = 0; i < h; ++i) { a[i] = new T[l]; } for (int i = 0; i < h; i++) { for (int j = 0; j < l; j++) { a[i][j] = tmp.a[i][j];//将转置后的重新传回来 } } } void show() { for (int i = 0; i < h; i++) { for (int j = 0; j < l; j++) { if (j != 0) { cout << " " << a[i][j]; } else { cout << a[i][j]; } } cout << endl; } } };
对给定区间所有元素进行排序,默认为升序,也可进行降序排序。
头文件要加上#include
Sort函数有三个参数:
(1)第一个是要排序的数组的起始地址。
(2)第二个是结束的地址(最后一位要排序的地址)
(3)第三个参数是排序的方法,可以不写第三个参数,默认的排序方法是从小到大排序。
sort(start,end,排序函数)
3.列表类(类模板)templateclass list { private: T a[100]; int lenth; public: list(){} void readNum(int n) { lenth=n; for(int i=0;i >a[i];//读入列表 } } void cha(int j, T q)//插入一个数 { for (int s = lenth+1; s >= j; s--) { a[s+1] = a[s]; } lenth++; a[j] = q; } void shan(int j)//删掉一个数 { for (int s =j;s



