C++ 循序表(算法)

include

    #include <string>
    using namespace std;

   typedef struct {
      int *elems;
      int length;
       int size;
      }MyStruct;

    void initData(MyStruct &list) {
       list.elems = new int[100];
       list.length = 0;
       list.size = 100;
         }
     void showList(MyStruct &list) {
       cout << "length:"<< list.length <<"-size:" <<list.size << endl;
        for (int i = 0; i < list.length;i++) {
        cout << list.elems[i] << " ";
      }
       }
     bool assignment(MyStruct &list,int length,int e) {
      if (list.length == list.size) return false;
      list.elems[list.length] = e;
      list.length++;
       return true;
      }
    bool interpolation(MyStruct &list,int i,int val) {
   if (list.length == list.size) return false;
      if (i < 0 && i>100) return false;
           for (int j = list.length - 1; j >=i;j--) {
         list.elems[j+1] = list.elems[j];
         }
        list.elems[i] = val;
        list.length++;
       return true;
        }

     int main() {
    int count;
    int val;
    MyStruct list;
    initData(list);
    showList(list);
     cout << "请输入新增元素长度" << endl;
    cin >> count;
    for (int i = 0; i < count;i++) {
        cout << "输入" << i+1 << "个元素值" << endl;
        cin >> val;
    if (assignment(list,i,val)) {
        cout << "新增成功" << endl;
    }else{
        cout << "失败" << endl;
      }
      }
      showList(list);
      cout << "" << endl;
      cout << "输入插入个数与值" << endl;
      cin >> count >> val;
      if (interpolation(list, count, val)) {
      cout << "插入成功" << endl;
      }else{
      cout << "插入失败" << endl;
    }
   showList(list);
       system("pause");
       return 0;
    }

猜你喜欢

转载自www.cnblogs.com/linyuxuan/p/12112328.html