有序顺序表的插入实现
来源:互联网 发布:软件无法放大缩小 编辑:程序博客网 时间:2024/04/30 11:01
#include <iostream>#include <Windows.h>using namespace std;typedef int DataType;const int MaxPSeqlist = 20;class OrderSeqList{ DataType data[MaxPSeqlist]; int size;public: OrderSeqList() { ZeroMemory(data,sizeof(data)); size = 0; } int Insert(const DataType&Item);};int OrderSeqList::Insert(const DataType&Item){ if (size>MaxPSeqlist) { cout<<"List is full!"<<endl; exit(0); } int nSign = 0; data[size] = Item; //放在序列的最后 size++; for (int i=0;i<size;i++) { if (data[i]>data[size-1]) { nSign = i; for (int j=size;j>nSign;j--) { data[j-1] = data[j-2]; } data[i] = Item ; break; } } }void main(){ OrderSeqList orderlist; //测试 orderlist.Insert(1); orderlist.Insert(2); orderlist.Insert(3); orderlist.Insert(5); orderlist.Insert(4); orderlist.Insert(6); orderlist.Insert(7); orderlist.Insert(8); orderlist.Insert(10); orderlist.Insert(0); orderlist.Insert(9); }