Type getKey()i return key Element<Type> c operators 9= 提取排序码 void setKey( const Type x)(ke y=x;}/修改 赋值 Element<Type>&x)i key =x>key otherdata=x->otherdata; 3 int operator ==(Element<Type>&x) f return key ==x-key; /this==X int operator <=(Element<Type>&x) f return key <=x-key;)/#Jthis sx int operator <(Element<Type>&x) return key <x>key;) /Jthis <X
Type getKey ( ) { return key; } //提取排序码 void setKey ( const Type x ) { key = x; } //修改 Element<Type> & operator = //赋值 ( Element<Type>& x ) { key = x->key; otherdata = x->otherdata; } int operator == (Element<Type>& x ) { return key == x->key; } //判this == x int operator <= (Element<Type>& x ) { return key <= x->key; } //判this x int operator < (Element<Type>& x ) { return key < x->key; } //判this < x
int operator >(Element<Type>&x) t return key >x>key; /Jthis >X template <class Type> class datalist t p rivate Element<Type>* Vector;∥存储向量 int maxSize, Currentsize;/大与当前个数 pl ublic. datalist( int Maxsz= Defaultsize ): MaxSize( maxsz ) Currentsize(0 f Vector =new Element<Type>[Maxszl:
int operator > (Element<Type>& x ) { return key > x->key; } //判this > x } template <class Type> class dataList { private: Element <Type> * Vector; //存储向量 int MaxSize, CurrentSize; //最大与当前个数 public: datalist ( int MaxSz = DefaultSize ) : MaxSize ( Maxsz ), CurrentSize (0) { Vector = new Element <Type> [MaxSz]; }
void sort (); /排序 void swap( Element<Iype>&x,∥对换 Element <Type> &y)i Element<Type> temp =x; X=y, y= temp
void sort ( ); //排序 void swap ( Element <Type> & x, //对换 Element <Type> & y ) { Element<Type> temp = x; x = y; y = temp; } }
插入排序( Insert Sorting 基本方法是:每步将一个待排序的对象,按 其排序码大小,插入到前面已经排好序的 组对象的适当位置上,直到对象全部插入为止。 直接插入排序( nsert Sort) 基本思想是:当插入第i(≥1)个对象时,前 面的V0V[,,V1]已经排好序。这时, 用V的排序码与V[1,V2],的排序码 顺序进行比较,找到插入位置即将V团插入, 原来位置上的对象向后顺移
各趟排序结 2125 49 25 1回0 2 3 果 i=1 21 49 2511608 2345 temp i=2 21252 25 49 1608 012345 emp
各趟排序结果 0 1 2 3 4 5 0 1 2 3 4 5 temp 25 0 1 2 3 4 5 temp 49