当前位置: 首页 > news >正文

动漫网站html一起做网站17怎么下单

动漫网站html,一起做网站17怎么下单,无锡网站建设有限公司,阿里巴巴网站工作流程测试用例结果展示 覆盖率 变异得分 测试注意点 从SplayTree测起#xff0c;然后再测SubSplayTree#xff0c;因为前者调用后者。SplaySubTree的remove方法大部分内容需要通过反射才能测到。value和index在SplayTree当中都不是唯一的。一个index可能对应多个value。 不足之…测试用例结果展示 覆盖率 变异得分 测试注意点 从SplayTree测起然后再测SubSplayTree因为前者调用后者。SplaySubTree的remove方法大部分内容需要通过反射才能测到。value和index在SplayTree当中都不是唯一的。一个index可能对应多个value。 不足之处 没考虑到异常怎么接住。对SplayTree这个数据结构的理解还很浅显。 测试文件MyTest.java package net.mooctest;import static org.junit.Assert.*;import java.lang.reflect.Field; import java.util.Arrays;import org.junit.Before; import org.junit.Test;public class MyTest {private Integer valArr[];private Integer remArr[];private Integer conArr[];private SplayTreeInteger splayTree;private int howmanynumbers;private int removeCnt;private int containsCnt;Beforepublic void initializeValArr() {this.howmanynumbers 100;this.removeCnt 0;this.containsCnt 0;valArr new Integer[howmanynumbers]; remArr new Integer[howmanynumbers/71]; conArr new Integer[howmanynumbers/91];for(int i0;ithis.howmanynumbers;i) {int val (int)(Math.random()*100); // System.out.println(val);valArr[i] val;if(i%70) {remArr[this.removeCnt] val;}if(i%90) {conArr[this.containsCnt] val;}}}Testpublic void testMain() {SplayTree.main(null);}// 测试remove和containsTestpublic void test001() {splayTree new SplayTreeInteger();for(int i0;ithis.howmanynumbers;i) {splayTree.add(valArr[i]);assertNull(splayTree.root.join(splayTree.root));}assertNotNull(splayTree.root.add(null));assertEquals(howmanynumbers, splayTree.size());for(int i0;ithis.removeCnt;i) {int valToRemove remArr[i];assertTrue(splayTree.contains(valToRemove));splayTree.remove(valToRemove);}assertEquals(howmanynumbers-removeCnt, splayTree.size());for(int i0;ithis.containsCnt;i) {int valToVarify conArr[i];assertTrue(splayTree.contains(valToVarify));}}// 测试remove和containsTestpublic void test002() {splayTree new SplayTreeInteger();for(int i0;ithis.howmanynumbers;i) {splayTree.add(valArr[i]);assertNull(splayTree.root.split(splayTree.root.getData()));}assertEquals(howmanynumbers, splayTree.size());for(int i0;ithis.removeCnt;i) {int valToRemove remArr[i];assertTrue(splayTree.contains(valToRemove));splayTree.remove(valToRemove);}assertEquals(howmanynumbers-removeCnt, splayTree.size());for(int i0;ithis.containsCnt;i) {int valToVarify conArr[i];assertTrue(splayTree.contains(valToVarify));}}// 测试get和indexOf// 不能再用随机生成的数据因为随机数据很可能重复Testpublic void test003() {splayTree new SplayTreeInteger();for(int i0;ithis.howmanynumbers;i) {splayTree.add(i*17);}assertEquals(howmanynumbers, splayTree.size());long idxArr[] new long[howmanynumbers];for(int i0;isplayTree.size();i) {idxArr[i] splayTree.indexOf(i*17);}for(int i0;isplayTree.size();i) {assertEquals(i*17, (int)splayTree.get(idxArr[i]));}assertNull(splayTree.get(-1));assertNull(splayTree.get(splayTree.size()1));}//测试toString()Testpublic void test004() {int primeArr[] {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71 };splayTree new SplayTreeInteger();for(int i0;iprimeArr.length;i) {splayTree.add(primeArr[i]);}// System.out.println(splayTree.toString()); // String expectedStr data2 left null right null sz1 cnt1\n; // assertEquals(expectedStr, splayTree.toString());String expectedStr data71 left67 right null sz20 cnt1\n data67 left61 right null sz19 cnt1\n data61 left59 right null sz18 cnt1\n data59 left53 right null sz17 cnt1\n data53 left47 right null sz16 cnt1\n data47 left43 right null sz15 cnt1\n data43 left41 right null sz14 cnt1\n data41 left37 right null sz13 cnt1\n data37 left31 right null sz12 cnt1\n data31 left29 right null sz11 cnt1\n data29 left23 right null sz10 cnt1\n data23 left19 right null sz9 cnt1\n data19 left17 right null sz8 cnt1\n data17 left13 right null sz7 cnt1\n data13 left11 right null sz6 cnt1\n data11 left7 right null sz5 cnt1\n data7 left5 right null sz4 cnt1\n data5 left3 right null sz3 cnt1\n data3 left2 right null sz2 cnt1\n data2 left null right null sz1 cnt1\n;assertEquals(expectedStr, splayTree.toString());}//测试SplaySubTree--findTest(timeout4000)public void test005() {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(null);assertNull(splaySubTree.find(1));int primeArr[] {2, 41, 5, 7, 67, 23, 11, 17, 19};for(int i0;iprimeArr.length;i) {splaySubTree splaySubTree.add(primeArr[i]);} // System.out.println(splaySubTree.toString());assertNull(splaySubTree.find(20));}//测试SplaySubTree--removeTest(timeout4000)public void test006() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(0);int primeArr[] {2, 41, 5, 7, 23, 11, 67, 17, 19};System.out.println(primeArr.length);for(int i0;iprimeArr.length;i) {splaySubTree splaySubTree.add(primeArr[i]);}assertNotNull(splaySubTree.remove(20));assertEquals(primeArr.length1,splaySubTree.remove(null).size());// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field countField splaySubTreeClass.getDeclaredField(count); // 设置私有属性 count 的可访问性 countField.setAccessible(true); splaySubTree splaySubTree.remove(7);// 访问私有属性 count 的值 int countValue (int) countField.get(splaySubTree); // System.out.println(countValue: countValue);assertEquals(0, countValue); // System.out.println(splaySubTree.toString());splaySubTree splaySubTree.remove(7);countValue (int) countField.get(splaySubTree); // System.out.println(countValue: countValue); assertEquals(-1, countValue);}//测试SplaySubTree--removeTest(timeout4000)public void test007() {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);splaySubTree.remove(1);}//测试SplaySubTree--removeTest(timeout4000)public void test008() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NullPointerException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field leftField splaySubTreeClass.getDeclaredField(left); // 设置私有属性 count 的可访问性 leftField.setAccessible(true); SplaySubTreeInteger splaySubTree2 new SplaySubTreeInteger(2);leftField.set(splaySubTree,splaySubTree2);splaySubTree.remove(1);}//测试SplaySubTree--removeTest(timeout4000)public void test009() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NullPointerException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field rightField splaySubTreeClass.getDeclaredField(right); // 设置私有属性 count 的可访问性 rightField.setAccessible(true); SplaySubTreeInteger splaySubTree2 new SplaySubTreeInteger(2);rightField.set(splaySubTree,splaySubTree2);splaySubTree.remove(1);}//测试SplaySubTree--removeTest(timeout4000)public void test0010() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NullPointerException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field leftField splaySubTreeClass.getDeclaredField(left);Field parentField splaySubTreeClass.getDeclaredField(parent); // 设置私有属性 count 的可访问性 leftField.setAccessible(true); parentField.setAccessible(true); SplaySubTreeInteger splaySubTree2 new SplaySubTreeInteger(2);leftField.set(splaySubTree,splaySubTree2);SplaySubTreeInteger splaySubTree3 new SplaySubTreeInteger(3);parentField.set(splaySubTree,splaySubTree3);splaySubTree.remove(1);}//测试SplaySubTree--removeTest(timeout4000)public void test0011() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NullPointerException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field rightField splaySubTreeClass.getDeclaredField(right); Field parentField splaySubTreeClass.getDeclaredField(parent); // 设置私有属性 count 的可访问性 rightField.setAccessible(true); parentField.setAccessible(true); SplaySubTreeInteger splaySubTree2 new SplaySubTreeInteger(2);rightField.set(splaySubTree,splaySubTree2);SplaySubTreeInteger splaySubTree3 new SplaySubTreeInteger(3);parentField.set(splaySubTree,splaySubTree3);splaySubTree.remove(1);}//测试SplaySubTree--removeTest(timeout4000)public void test0012() throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NullPointerException {SplaySubTreeInteger splaySubTree new SplaySubTreeInteger(1);// 获取 SplaySubTreeInteger 的 Class 对象 Class? splaySubTreeClass splaySubTree.getClass(); // 获取私有属性 count 的 Field 对象 Field rightField splaySubTreeClass.getDeclaredField(right); Field leftField splaySubTreeClass.getDeclaredField(left); // 设置私有属性 count 的可访问性 rightField.setAccessible(true); leftField.setAccessible(true); SplaySubTreeInteger splaySubTree2 new SplaySubTreeInteger(2);rightField.set(splaySubTree,splaySubTree2);SplaySubTreeInteger splaySubTree3 new SplaySubTreeInteger(3);leftField.set(splaySubTree,splaySubTree3);String expectedStr data1 left3 right2 sz1 cnt1\n data3 left null right null sz1 cnt1\n data2 left null right null sz1 cnt1\n;assertEquals(expectedStr, splaySubTree.toString());}}被测文件(1/2)SplayTree.java package net.mooctest;import java.util.Arrays;public class SplayTree T extends ComparableT {SplaySubTreeT root;public SplayTree(){root new SplaySubTreeT(null);}/*** param index - of the node to search for.* return - null if index0 or indexsize otherwise SubTree at index. */public T get(long index) {SplaySubTreeT cT root.get(index);if(cTnull)return null;cT.splay();root cT;return cT.getData();}/*** return - the number of nodes in the tree.*/public long size() { return root.size();}/*** param node - to search for.* return - the index of node. All nodes are ordered according to the compareTo(T) method.* */public long indexOf(T node) {long index root.indexOf(node);get(index);return index;}/*** param node - is added to the tree.* If node is null tree is unchanged.*/public void add(T node) {root root.add(node);}/*** param node - is removed from the tree.* If node is null tree is unchanged.*/public void remove(T node) {root root.remove(node);}/*** param node* return*/public boolean contains(T node) {SplaySubTreeT temp root.find(node);if(temp!null){temp.splay();root temp;}return temp ! null;}Overridepublic String toString(){return root.toString();}public static void main(String[] args) {SplayTreeInteger test new SplayTreeInteger();int howmanynumbers 10000;for (int i 0; i howmanynumbers; i) {int val (int)(Math.random()*100);test.add(val);}System.out.println(test);} }被测文件(2/2)SubSplayTree.java package net.mooctest;public class SplaySubTreeT extends ComparableT {private T data;private SplaySubTreeT left, right, parent;private long size; // number of nodes in treeprivate int count;/*** param node* - If nodenull then size will be 0 otherwise node will be in the* tree and size will be 1*/public SplaySubTree(T node) {data node;if (node ! null) {size count 1;}}public String toString() {String lft ;String rght ;String myData data data;if (left ! null) {myData left left.data;lft left.toString();} else {myData left null;}if (right ! null) {myData right right.data;rght right.toString();} else {myData right null;}myData szsize cntcount;return myData \n lft rght;}public T getData() {return data;}/*** param index* - of the node to search for.* return - null if index0 or indexsize otherwise SubTree at index.*/public SplaySubTreeT get(long index) {if (index size || index 0)return null;long cS 1;SplaySubTreeT cT this;if (cT.left ! null)cS cT.left.size;while (cS ! index) {if (cS index) {cS--;cT cT.left;if (cT ! null cT.right ! null)cS - cT.right.size;} else {cS;cT cT.right;if (cT ! null cT.left ! null)cS cT.left.size;}}return cT;}/*** return - the number of nodes in the tree.*/public long size() {return size;}/*** param node* - to search for.* return - the index of node. All nodes are ordered according to the* compareTo(T) method.* */public long indexOf(T node) {if (node null)return -1;long cI 1;SplaySubTreeT cT this;if (cT.left ! null)cI cT.left.size;while (!cT.data.equals(node)) {if (cT.data.compareTo(node) 0) {cI--;cT cT.left;if (cT ! null cT.right ! null)cI - cT.right.size;} else {cI;cT cT.right;if (cT ! null cT.left ! null)cI cT.left.size;}if (cT null)return -1;}return cI;}/*** param node* - is added to the tree. If node is null tree is unchanged.* return - New root of the tree.*/public SplaySubTreeT add(T node) {if (node null)return this;if (this.data null)return new SplaySubTreeT(node);SplaySubTreeT current this;SplaySubTreeT child null;if (this.data.compareTo(node) 0)child this.right;else if(this.data.compareTo(node)0)child this.left;while (child ! null current.data.compareTo(node)!0) {current child;if (current.data.compareTo(node) 0)child current.right;else if(current.data.compareTo(node)0)child current.left;}SplaySubTreeT newNode new SplaySubTreeT(node);if (current.data.compareTo(node) 0) {current.right newNode;} else if(current.data.compareTo(node)0){current.left newNode;}else {current.size;current.count;newNode current;current newNode.parent;}newNode.parent current;if (newNode.splay())return newNode;return this;}/*** param node* - is removed from the tree. If node is null tree is unchanged.* return - New root of the tree.*/public SplaySubTreeT remove(T node) {if (node null)return this;SplaySubTreeT x find(node);if (x null)return this;if(x.data.equals(node)) {x.count--;x.size--;if(size0) {x.splay();return x;}}// To delete a node x:// if x has no children remove it.if (x.left null x.right null) {if (x.parent ! null) {if (x.parent.left x) {parent.left null;} elseparent.right null;} elsereturn new SplaySubTree(null);}// if x has one child remove x, and put the child in place of xif (x.left null) {if (x.parent ! null) {if (x.parent.left x) {parent.left x.right;x.right.parent parent;x x.right;} else {parent.right x.right;x.right.parent parent;x x.right;}} else {x.right.parent null;return x.right;}} else if (x.right null) {if (x.parent ! null) {if (x.parent.left x) {parent.left x.left;x.left.parent parent;x x.left;} else {parent.right x.left;x.left.parent parent;x x.left;}} else {x.left.parent null;return x.left;}} else {// if x has two children, swap its value with that of// the rightmost node of its left sub treeSplaySubTreeT rmc x.left;while (rmc.right ! null)rmc rmc.right;x.data rmc.data;// Then remove that node instead.rmc.left.parent rmc.parent;if (rmc.parent x) {x.left rmc.left;} else {rmc.parent.right rmc.left;}x rmc;}// After deletion, splay the parent of the removed node to the top of// the tree.x.splay();return x;}/*** param other* return*/public SplaySubTreeT join(SplaySubTreeT other) {return null;}/*** param node* return*/public SplaySubTreeT split(T node) {return null;}/*** param node* return*/public SplaySubTreeT find(T node) {SplaySubTreeT current this;if (this.data null)return null;while (current ! null) {if (node.equals(current.data))return current;if (node.compareTo(current.data) 0)current current.left;elsecurrent current.right;}return current;}/*** Assuming this node is an interior or leaf node of a larger tree this method* moves this node up to the root balancing the tree in the process*/public boolean splay() {while (this.parent ! null) {SplaySubTreeT p this.parent;SplaySubTreeT g p.parent;if (g null this p.left) {zig();} else if (g null this p.right) {zag();} else if (p.left this g.left p) {zigzig();} else if (p.right this g.right p) {zagzag();} else if (p.right this g.left p) {zigzag();} else {zagzig();}}return true;}/*** This is a helper method used in the splay() operation*/private void zig() {SplaySubTreeT b this.right;SplaySubTreeT p this.parent;this.right p;p.parent this;p.left b;if (b ! null)b.parent p;this.parent null;p.size p.count;if (p.right ! null)p.size p.right.size;if (b ! null)p.size b.size;this.size p.size this.count;if (this.left ! null)this.size this.left.size;}/*** This is a helper method used in the splay() operation*/private void zag() {SplaySubTreeT b this.left;SplaySubTreeT p this.parent;this.left p;p.parent this;p.right b;if (b ! null)b.parent p;this.parent null;p.size p.count;if (b ! null)p.size b.size;if (p.left ! null)p.size p.left.size;this.size p.size this.count;if (this.right ! null)this.size this.right.size;}/*** This is a helper method used by zigzig, zagzag, zigzag, zagzig This fixes* the great grandparent*/private void fixGG(SplaySubTreeT g) {SplaySubTreeT gg g.parent;if (gg ! null) {if (g gg.left)gg.left this;if (g gg.right)gg.right this;}this.parent gg;// might need to update size}/*** This is a helper method used in the splay() operation*/private void zigzig() {SplaySubTreeT g parent.parent;SplaySubTreeT b this.right;SplaySubTreeT p this.parent;SplaySubTreeT c p.right;fixGG(g);if (b ! null)b.parent p;p.left b;if (c ! null)c.parent g;g.left c;g.parent p;p.right g;p.parent this;this.right p;g.size g.count;if (c ! null)g.size c.size;if (g.right ! null)g.size g.right.size;p.size p.count;if (g ! null)p.size g.size;if (b ! null)p.size b.size;this.size p.size this.count;if (this.left ! null)this.size this.left.size;}/*** This is a helper method used in the splay() operation*/private void zagzag() {SplaySubTreeT g parent.parent;SplaySubTreeT b this.left;SplaySubTreeT p this.parent;SplaySubTreeT c p.left;fixGG(g);if (b ! null)b.parent p;// above line throws java.lang.NullPointerExceptionp.right b;if (c ! null)c.parent g;g.right c;g.parent p;p.left g;p.parent this;this.left p;g.size g.count;if (g.left ! null)g.size g.left.size;if (c ! null)g.size c.size;p.size g.size p.count;if (b ! null)p.size b.size;this.size p.size this.count;if (this.right ! null)this.size this.right.size;}/*** This is a helper method used in the splay() operation*/private void zigzag() {SplaySubTreeT g parent.parent;SplaySubTreeT b this.left;SplaySubTreeT p this.parent;SplaySubTreeT c this.right;fixGG(g);if (b ! null)b.parent p;p.right b;if (c ! null)c.parent g;g.left c;p.parent this;this.left p;g.parent this;this.right g;g.size g.count;if (g.right ! null)g.size g.right.size;if (c ! null)g.size c.size;p.size p.count;if (p.left ! null)p.size p.left.size;if (b ! null)p.size b.size;this.size g.size p.size this.count;}/*** This is a helper method used in the splay() operation*/private void zagzig() {SplaySubTreeT g parent.parent;SplaySubTreeT b this.right;SplaySubTreeT p this.parent;SplaySubTreeT c this.left;fixGG(g);if (b ! null)b.parent p;p.left b;if (c ! null)c.parent g;g.right c;p.parent this;this.right p;g.parent this;this.left g;g.size g.count;if (g.left ! null)g.size g.left.size;if (c ! null)g.size c.size;p.size p.count;if (p.right ! null)p.size p.right.size;if (b ! null)p.size b.size;this.size g.size p.size this.count;}}
文章转载自:
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.brsgw.cn.gov.cn.brsgw.cn
http://www.morning.mttqp.cn.gov.cn.mttqp.cn
http://www.morning.sftrt.cn.gov.cn.sftrt.cn
http://www.morning.ssjee.cn.gov.cn.ssjee.cn
http://www.morning.qytyt.cn.gov.cn.qytyt.cn
http://www.morning.tkrwm.cn.gov.cn.tkrwm.cn
http://www.morning.bsqth.cn.gov.cn.bsqth.cn
http://www.morning.ljmbd.cn.gov.cn.ljmbd.cn
http://www.morning.lmzpk.cn.gov.cn.lmzpk.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.nyqxy.cn.gov.cn.nyqxy.cn
http://www.morning.flxqm.cn.gov.cn.flxqm.cn
http://www.morning.clwhf.cn.gov.cn.clwhf.cn
http://www.morning.dfndz.cn.gov.cn.dfndz.cn
http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn
http://www.morning.ymqfx.cn.gov.cn.ymqfx.cn
http://www.morning.kjyqr.cn.gov.cn.kjyqr.cn
http://www.morning.rbkl.cn.gov.cn.rbkl.cn
http://www.morning.rftk.cn.gov.cn.rftk.cn
http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn
http://www.morning.qqnp.cn.gov.cn.qqnp.cn
http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.hclqy.cn.gov.cn.hclqy.cn
http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn
http://www.morning.wnhml.cn.gov.cn.wnhml.cn
http://www.morning.xflwq.cn.gov.cn.xflwq.cn
http://www.morning.fywqr.cn.gov.cn.fywqr.cn
http://www.morning.pnmgr.cn.gov.cn.pnmgr.cn
http://www.morning.dndk.cn.gov.cn.dndk.cn
http://www.morning.yrbp.cn.gov.cn.yrbp.cn
http://www.morning.qwbht.cn.gov.cn.qwbht.cn
http://www.morning.rxlk.cn.gov.cn.rxlk.cn
http://www.morning.ghfmd.cn.gov.cn.ghfmd.cn
http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn
http://www.morning.cjcry.cn.gov.cn.cjcry.cn
http://www.morning.xhftj.cn.gov.cn.xhftj.cn
http://www.morning.nuobeiergw.cn.gov.cn.nuobeiergw.cn
http://www.morning.crrjg.cn.gov.cn.crrjg.cn
http://www.morning.xdnhw.cn.gov.cn.xdnhw.cn
http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn
http://www.morning.ydnx.cn.gov.cn.ydnx.cn
http://www.morning.rbzht.cn.gov.cn.rbzht.cn
http://www.morning.fbxlj.cn.gov.cn.fbxlj.cn
http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn
http://www.morning.jfymz.cn.gov.cn.jfymz.cn
http://www.morning.dddcfr.cn.gov.cn.dddcfr.cn
http://www.morning.rqhn.cn.gov.cn.rqhn.cn
http://www.morning.xsgxp.cn.gov.cn.xsgxp.cn
http://www.morning.msgcj.cn.gov.cn.msgcj.cn
http://www.morning.rnmmh.cn.gov.cn.rnmmh.cn
http://www.morning.nlywq.cn.gov.cn.nlywq.cn
http://www.morning.rzdpd.cn.gov.cn.rzdpd.cn
http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn
http://www.morning.smspc.cn.gov.cn.smspc.cn
http://www.morning.ctlbf.cn.gov.cn.ctlbf.cn
http://www.morning.ywpcs.cn.gov.cn.ywpcs.cn
http://www.morning.sqdjn.cn.gov.cn.sqdjn.cn
http://www.morning.uycvv.cn.gov.cn.uycvv.cn
http://www.morning.mfct.cn.gov.cn.mfct.cn
http://www.morning.zstry.cn.gov.cn.zstry.cn
http://www.morning.rmlz.cn.gov.cn.rmlz.cn
http://www.morning.bpmnq.cn.gov.cn.bpmnq.cn
http://www.morning.bfmrq.cn.gov.cn.bfmrq.cn
http://www.morning.mltsc.cn.gov.cn.mltsc.cn
http://www.morning.pdkht.cn.gov.cn.pdkht.cn
http://www.morning.zmpqt.cn.gov.cn.zmpqt.cn
http://www.morning.znqfc.cn.gov.cn.znqfc.cn
http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.cknrs.cn.gov.cn.cknrs.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.rdfq.cn.gov.cn.rdfq.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.sggzr.cn.gov.cn.sggzr.cn
http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn
http://www.morning.wfbnp.cn.gov.cn.wfbnp.cn
http://www.morning.bfcxf.cn.gov.cn.bfcxf.cn
http://www.tj-hxxt.cn/news/235341.html

相关文章:

  • 玉环市建设规划局网站网站做排名教程
  • 网站运营维护工作 基本内容包括九酷为什么做福音网站
  • 国外一直小猫做图标的网站网站开发兼职团队
  • 高端建设网站网站被墙是谁做的
  • 九江商城网站建设企业网站建设方案
  • 建手机网站软件服务式办公室网
  • 百度指数搜索指数的数据来源北京网站建设专业乐云seo
  • 做视频比较好的理财网站有哪些广州安全教育网登录平台
  • 园区网站建设wordpress建材主题
  • 常用设计网站有哪些软件古玩网站源码
  • 为什么企业网站不是开源系统用外服务器做网站
  • 做振动盘的企业网站河南省建设监理协会新网站
  • 公司网站制作模板价格低速度快很多人喜欢来这翻译
  • wordpress怎么弹出需要输入西安新站网站推广优化
  • 用asp.net做的网站框架做淘宝客必须要有网站吗
  • 摄影网站采用照片做宣传_版权费是多少?网站维护专业
  • 企业网站平台如何做网络推广什么网站做的产品海报比较多
  • 网站建设工具最简洁的网站开发预算报表
  • 网站编辑器做段落空格品牌定位
  • 华为云定制建站服务怎么样手机端网页设计规范
  • 傻瓜式网站建设wordpress 媒体库 文件夹
  • 益阳市网站建设随州北京网站建设
  • 视频网站开发的论文app开发一般需要多少钱
  • 条幅在线设计网站wordpress是否可以排版
  • 百雀羚网站建设模版好的平面设计
  • 网络公司经营范围网站建设服装企业网站建设可行性分析
  • 电子商务平台发展现状seo优化怎么做
  • 洛阳网站设计室内装修设计需要学哪些东西
  • 做网站划算还是做app划算电子科技公司网站
  • 政务网站开发方案网站架构设计的意义