zoukankan      html  css  js  c++  java
  • 线性集合A线性集合B

    需要注意的地方:删除一个元素后,下一次遍历的下标值不变,另外程序使用了动态线性表,在插入操作时可以扩容,使用p=realloc(p,size)
    #include <iostream> using namespace std; typedef struct { int *p; int length; int size; }sqListEx; void initList(sqListEx& sqlist,int m){ sqlist.p=(int *)malloc(m*sizeof(int)); sqlist.length=0; sqlist.size=m; } void destroyList(sqListEx& sqlist){ free(sqlist.p); sqlist.length=0; sqlist.size=0; } int deleteList(sqListEx& sqlist,int n){ if ((n+1)==sqlist.length) { sqlist.length--; return 1; } for (int i=n;i<sqlist.length;i++) { sqlist.p[i]=sqlist.p[i+1]; } sqlist.length--; return 1; } void main(){ sqListEx sqListA,sqListB; initList(sqListA,30); initList(sqListB,10); sqListA.p[0]=1; sqListA.p[1]=2; sqListA.p[2]=3; sqListA.p[3]=4; sqListA.p[4]=5; sqListA.p[5]=6; sqListB.p[0]=10; sqListB.p[1]=60; sqListB.p[2]=50; sqListA.length=6; sqListB.length=3; for (int i=0;i<sqListA.length;) { int flag=0; for (int j=0;j<sqListB.length;j++) { if (sqListA.p[i]==sqListB.p[j]) { flag=1; deleteList(sqListA,i); break; } } if (flag==0) i++; } for (i=0;i<sqListA.length;i++) { cout<<sqListA.p[i]<<endl; } destroyList(sqListA); destroyList(sqListB); }
  • 相关阅读:
    java中栈内存和堆内存的简单理解
    java中构造函数与一般函数的区别

    另一部漫画
    海边的卡夫卡
    11-12
    这篇大概值一百万吧
    我的千岁寒
    11-9
    嗯……………股票已经涨的我不想上班了
  • 原文地址:https://www.cnblogs.com/GoAhead/p/2652014.html
Copyright © 2011-2022 走看看