欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

拓?fù)渑判蛩惴╦ava代碼 拓?fù)渑判蛩惴▊未a

拓?fù)渑判蚺耪n表

信息工程系軟件技術(shù)學(xué)生課程表(拓?fù)渑判颍?/p>

創(chuàng)新互聯(lián)公司聯(lián)系熱線:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁(yè)制作領(lǐng)域十多年,包括成都辦公窗簾等多個(gè)領(lǐng)域擁有多年的網(wǎng)站營(yíng)銷經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)錦上添花。

拓?fù)鋱D為:(圖不好粘貼)

運(yùn)用拓?fù)涓拍钆判虻慕Y(jié)果:

C1 , C9 , C3 , C2 , C7 , C4, C5 , C8 , C6

C1計(jì)算機(jī)應(yīng)用基礎(chǔ) C2 C語(yǔ)言 C3 VB語(yǔ)言 C4 JSP C5數(shù)字邏輯電路 C6軟件工程

C7計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ) C8 Java語(yǔ)言 C9計(jì)算機(jī)數(shù)學(xué)基礎(chǔ)

/*-------------------------------主類-----------------------------*/

public class Navy1 {

public static void main(String[] args) {

topology(); //調(diào)用拓?fù)涞臉?gòu)造方法

}

public static void topology() { //構(gòu)造拓?fù)浞椒?/p>

/**

聲明拓?fù)鋱D中的元素

定義節(jié)點(diǎn)和節(jié)點(diǎn)之間的關(guān)系

Entry(a,b)a為b的前導(dǎo)

**/

Entry[] relations = { new Entry(9, 2), new Entry(3,7),

new Entry(7, 5), new Entry(5, 8), new Entry(8, 6),

new Entry(4, 6), new Entry(1, 3), new Entry(7, 4),

new Entry(9, 5), new Entry(2, 8) };

int n = 9;

int n1 = 9;

/*計(jì)算拓?fù)鋱D中節(jié)點(diǎn)數(shù)*/

int[] count = { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

/*開辟內(nèi)存空間*/

Node[] top = { null, null, null, null, null, null, null, null, null, null };

Node p = null;

for (int i = 0; i relations.length; i++) {

count[relations[i].k]++;

p = new Node();

p.suc = relations[i].k;

p.next = top[relations[i].j];

top[relations[i].j] = p;

}

int r = 0;

int[] qlink = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

for (int i = 1; i = n; i++) {

if (count[i] == 0) {

qlink[r] = i;

r = i;

}

}

int f = qlink[0];

System.out.println("題目及要求:");

System.out.println("課程排課程序。寫一個(gè)程序,實(shí)現(xiàn)對(duì)某個(gè)專業(yè)的課程進(jìn)行排課的功能。");

System.out.println("已知某專業(yè)的課程和它們的前導(dǎo)和后續(xù)關(guān)系(以有向圖的形式表示),");

System.out.println("請(qǐng)用拓?fù)渑判蛩惴ㄇ蟪鲞@些課程的優(yōu)先關(guān)系并輸出一種排課結(jié)果");

System.out.println("--------------------------------------");

System.out.println("08信息工程系軟件技術(shù)課程表(拓?fù)渑判颍?);

while (true)

{

System.out.println(f);

if (f == 0) //結(jié)束條件

{

break;

}

else

{

n1--;

p = top[f];

while (true)

{

if (p == null)

{

break;

}

else

{

count[p.suc]--;

if (count[p.suc] == 0)

{

qlink[r] = p.suc;

r = p.suc;

}

p = p.next;

}

}

f = qlink[f];

}

}

System.out.println("結(jié)束的標(biāo)志為:" + n1);

System.out.println("--------------------------------------------");

System.out.println("注釋(數(shù)字對(duì)應(yīng)的課程):");

System.out.println("1 計(jì)算機(jī)應(yīng)用基礎(chǔ) 2 C語(yǔ)言 3 VB語(yǔ)言 ");

System.out.println("4 JSP 5 數(shù)字邏輯電路 6 軟件工程");

System.out.println("7 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ) 8 Java語(yǔ)言 9 計(jì)算機(jī)數(shù)學(xué)基礎(chǔ)");

System.out.println("--------------------------------------------");

}

/*構(gòu)造元素類*/

private static class Entry

{

public Entry(int begin, int end) //定義開始元素和結(jié)束元素

{

this.j = begin;

this.k = end;

}

int j;

int k;

}

/*聲明節(jié)點(diǎn)的后繼*/

private static class Node

{

public Node(int suc, Node next)

{

this.suc = suc;

this.next = next;

}

public Node()

{

}

int suc;

Node next;

}

}

圖的拓?fù)渑判?/h2>

拓?fù)渑判蚴怯邢驁D的一個(gè)重要操作。在給定的有向圖G中,若頂點(diǎn)序列vi1,vi2,...,vin滿足下列條件:若在有向圖G中從頂點(diǎn)vi到頂點(diǎn)vj有一條路徑,則在序列中頂點(diǎn)vi必在頂點(diǎn)vj之前,便稱這個(gè)序列為一個(gè)拓?fù)湫蛄小G笠粋€(gè)有向圖拓?fù)湫蛄械倪^程稱為拓?fù)渑判颉?/p>

舉例:計(jì)算機(jī)專業(yè)的學(xué)生應(yīng)該學(xué)習(xí)的部分課程及其每門課程所需要的先修課程。

拓?fù)渑判虻姆椒ǎ?/p>

(1)從圖中選擇一個(gè)入度為0的頂點(diǎn)且輸出之;

(2)從圖中刪掉該頂點(diǎn)及其所有以該頂點(diǎn)為弧尾的弧;

反復(fù)執(zhí)行這兩個(gè)步驟,直到所有的頂點(diǎn)都被輸出,輸出的序列就是這個(gè)無(wú)環(huán)有向圖的拓?fù)湫蛄小<?xì)心的讀者可能會(huì)發(fā)現(xiàn):在每一時(shí)刻,可能同時(shí)存在多個(gè)入度為0的頂點(diǎn),選擇注:表中c1~c9列表示的是每個(gè)頂點(diǎn)的入度。

下面我們討論一下如何實(shí)現(xiàn)拓?fù)渑判虻乃惴ā<僭O(shè)有向圖以鄰接表的形式存儲(chǔ)。

下面給出算法實(shí)現(xiàn)的基本過程:

{ 將所有入度為0的頂點(diǎn)入棧;

當(dāng)棧非空時(shí)重復(fù)執(zhí)行下列操作:

從棧中退出頂點(diǎn)k;

(1)將k頂點(diǎn)的信息輸出;

(2)將與k鄰接的所有頂點(diǎn)的入度減1。 }#defineMAX_VERTEX_NUM30//最大頂點(diǎn)個(gè)數(shù)typestructEdgeLinklist{//邊結(jié)點(diǎn)intadjvex;structEdgeLinklist*next;}EdgeLinklist;typedefstructVexLinklist{//頂點(diǎn)結(jié)點(diǎn)Elemtypeelem;intindegree;//記錄頂點(diǎn)的入度EdgeLinklist*firstedge;}VexLinklist,AdjList[MAX_VERTEX_NUM];下面是拓?fù)渑判虻耐暾惴ā? StatusTopologicalSort(AdjListadj){InitStack(s);for(i=0;iMAX_VERTEX_NUM-1;i++)if(adj.indegree==0)Push(s,i);while(!StackEmpty(s)){Pop(s,i);printf(i);for(p=adj.firstedge;p;p=p-next){adj.indegree-=1;if(adj.indegree==0)Push(s,i);}

拓?fù)渑判蛩惴▽?shí)現(xiàn)

#define MAXV 30

#define OK 1

#define ERROR 0

typedef char VertexType;

typedef int status;

typedef struct ArcNode{

int adjvex;

struct ArcNode *nextarc;

}ArcNode;

typedef struct VNode{

VertexType data;

ArcNode *firstarc;

}VNode,AdjList[MAXV ];

typedef struct{

AdjList vertices;

int vexnum,arcnum;

}ALGraph;

int LocateVex(ALGraph G,char m);

status Creat_Graph1(ALGraph G);

int dfs_topsort(ALGraph g,int n);//拓?fù)渑判蛩惴?/p>

void dfs(ALGraph g,int v,intflag);//深度優(yōu)先搜索

void Menuselect();

頭文件

#includestdio.h

#includemalloc.h

#includestdlib.h

#includeiostream.h

#include"head.h"

int visited[MAXV];

int finished[MAXV];

int dfs_topsort(ALGraph g,int n)

{

int flag=1,i;

for(i=0;in;i++) //置初值

{

visited[i]=0;

finished[i]=1;

}

i=0; //從編號(hào)為0的頂點(diǎn)開始遍歷

while(flagin)

{

if(visited[i]==0)

{ i++;

dfs(g,i,flag);}

}

return flag;

}

void dfs(ALGraph g,int v,intflag)

{

ArcNode *p;

printf("%d\n",v);

finished[v]=0;

visited[v]=0;

p=g.vertices[v]. firstarc; //找頂點(diǎn)V的第一條弧

while(p!=NULL)

{

if(visited[p-adjvex]==0)

{

dfs(g,p-adjvex,flag);

finished[p-adjvex ]=1;

}

p=p-nextarc ;

}

}

int LocateVex(ALGraph G,char m){

int i;

for(i=0;iG.vexnum;i++)

if(G.vertices[i].data==m)return i;

return ERROR;

}

status Creat_Graph1(ALGraph G){

int i,j,r;char m,n;ArcNode *p;

printf("請(qǐng)輸入頂點(diǎn)數(shù):");

scanf("%d",G.vexnum);

printf("請(qǐng)輸入邊數(shù):");

scanf("%d",G.arcnum);

printf("請(qǐng)輸入圖的所有頂點(diǎn):");

for(i=0;iG.vexnum;i++)

{cinG.vertices[i].data;G.vertices[i].firstarc=NULL;}

printf("請(qǐng)輸入圖的所有邊,如A-B邊記為AB,:\n");

for(r=0;rG.arcnum;r++){

cinm;cinn;

i=LocateVex(G,m);j=LocateVex(G,n);

p=(ArcNode*)malloc(sizeof(ArcNode));

p-adjvex=j;

p-nextarc=G.vertices[i].firstarc;

G.vertices[i].firstarc=p;

}

return OK;

}

void Menuselect(){

int done=1,select,i;

ALGraph g;

printf("please input select number");

while(done){

printf("請(qǐng)輸入操作碼:");

scanf("%d",select);

switch(select){

case 1:

if(Creat_Graph1(g))printf("OK");

printf("\n\n");

break;

case 2:

dfs_topsort( g,g.vexnum);

printf("\n\n");

break;

case 3:

done=0;

break;

default:printf("輸入的操作碼錯(cuò)誤\n\n");

}

}

}

實(shí)現(xiàn)文件

#includestdio.h

#includemalloc.h

#includestdlib.h

#includeiostream.h

#include"head.h"

void main()

{

printf("圖的拓?fù)渑判?);

Menuselect();

}

主文件

編寫java程序:輸入一組整數(shù)存放在數(shù)組中,比較并輸出其中最大值和最小值,并將數(shù)組

public class Arr{

//數(shù)組

int[] arr = {3,1,6,4,5,10,2};

//對(duì)數(shù)組進(jìn)行簡(jiǎn)單的排序

java.util.Arrays.sort(arr);

//輸出最大值、最小值

System.out.println("最大值:" + arr[arr.length-1] +"\n最小值:" + arr[0]);

//從小到大輸出

System.out.println(java.util.Arrays.toString(arr));

}

數(shù)據(jù)結(jié)構(gòu) java開發(fā)中常用的排序算法有哪些

排序算法有很多,所以在特定情景中使用哪一種算法很重要。為了選擇合適的算法,可以按照建議的順序考慮以下標(biāo)準(zhǔn):

(1)執(zhí)行時(shí)間

(2)存儲(chǔ)空間

(3)編程工作

對(duì)于數(shù)據(jù)量較小的情形,(1)(2)差別不大,主要考慮(3);而對(duì)于數(shù)據(jù)量大的,(1)為首要。

主要排序法有:

一、冒泡(Bubble)排序——相鄰交換

二、選擇排序——每次最小/大排在相應(yīng)的位置

三、插入排序——將下一個(gè)插入已排好的序列中

四、殼(Shell)排序——縮小增量

五、歸并排序

六、快速排序

七、堆排序

八、拓?fù)渑判?/p>

一、冒泡(Bubble)排序

----------------------------------Code 從小到大排序n個(gè)數(shù)------------------------------------

void BubbleSortArray()

{

for(int i=1;in;i++)

{

for(int j=0;in-i;j++)

{

if(a[j]a[j+1])//比較交換相鄰元素

{

int temp;

temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;

}

}

}

}

-------------------------------------------------Code------------------------------------------------

效率 O(n2),適用于排序小列表。

二、選擇排序

----------------------------------Code 從小到大排序n個(gè)數(shù)--------------------------------

void SelectSortArray()

{

int min_index;

for(int i=0;in-1;i++)

{

min_index=i;

for(int j=i+1;jn;j++)//每次掃描選擇最小項(xiàng)

if(arr[j]arr[min_index]) min_index=j;

if(min_index!=i)//找到最小項(xiàng)交換,即將這一項(xiàng)移到列表中的正確位置

{

int temp;

temp=arr[i]; arr[i]=arr[min_index]; arr[min_index]=temp;

}

}

}

-------------------------------------------------Code-----------------------------------------

效率O(n2),適用于排序小的列表。

三、插入排序

--------------------------------------------Code 從小到大排序n個(gè)數(shù)-------------------------------------

void InsertSortArray()

{

for(int i=1;in;i++)//循環(huán)從第二個(gè)數(shù)組元素開始,因?yàn)閍rr[0]作為最初已排序部分

{

int temp=arr[i];//temp標(biāo)記為未排序第一個(gè)元素

int j=i-1;

while (j=0 arr[j]temp)/*將temp與已排序元素從小到大比較,尋找temp應(yīng)插入的位置*/

{

arr[j+1]=arr[j];

j--;

}

arr[j+1]=temp;

}

}

------------------------------Code--------------------------------------------------------------

最佳效率O(n);最糟效率O(n2)與冒泡、選擇相同,適用于排序小列表

若列表基本有序,則插入排序比冒泡、選擇更有效率。

四、殼(Shell)排序——縮小增量排序

-------------------------------------Code 從小到大排序n個(gè)數(shù)-------------------------------------

void ShellSortArray()

{

for(int incr=3;incr0;incr--)//增量遞減,以增量3,2,1為例

{

for(int L=0;L(n-1)/incr;L++)//重復(fù)分成的每個(gè)子列表

{

for(int i=L+incr;in;i+=incr)//對(duì)每個(gè)子列表應(yīng)用插入排序

{

int temp=arr[i];

int j=i-incr;

while(j=0arr[j]temp)

{

arr[j+incr]=arr[j];

j-=incr;

}

arr[j+incr]=temp;

}

}

}

}

--------------------------------------Code-------------------------------------------

適用于排序小列表。

效率估計(jì)O(nlog2^n)~O(n^1.5),取決于增量值的最初大小。建議使用質(zhì)數(shù)作為增量值,因?yàn)槿绻隽恐凳?的冪,則在下一個(gè)通道中會(huì)再次比較相同的元素。

殼(Shell)排序改進(jìn)了插入排序,減少了比較的次數(shù)。是不穩(wěn)定的排序,因?yàn)榕判蜻^程中元素可能會(huì)前后跳躍。

五、歸并排序

----------------------------------------------Code 從小到大排序---------------------------------------

void MergeSort(int low,int high)

{

if(low=high) return;//每個(gè)子列表中剩下一個(gè)元素時(shí)停止

else int mid=(low+high)/2;/*將列表劃分成相等的兩個(gè)子列表,若有奇數(shù)個(gè)元素,則在左邊子列表大于右側(cè)子列表*/

MergeSort(low,mid);//子列表進(jìn)一步劃分

MergeSort(mid+1,high);

int [] B=new int [high-low+1];//新建一個(gè)數(shù)組,用于存放歸并的元素

for(int i=low,j=mid+1,k=low;i=mid j=high;k++)/*兩個(gè)子列表進(jìn)行排序歸并,直到兩個(gè)子列表中的一個(gè)結(jié)束*/

{

if (arr[i]=arr[j];)

{

B[k]=arr[i];

I++;

}

else

{ B[k]=arr[j]; j++; }

}

for( ;j=high;j++,k++)//如果第二個(gè)子列表中仍然有元素,則追加到新列表

B[k]=arr[j];

for( ;i=mid;i++,k++)//如果在第一個(gè)子列表中仍然有元素,則追加到新列表中

B[k]=arr[i];

for(int z=0;zhigh-low+1;z++)//將排序的數(shù)組B的 所有元素復(fù)制到原始數(shù)組arr中

arr[z]=B[z];

}

-----------------------------------------------------Code---------------------------------------------------

效率O(nlogn),歸并的最佳、平均和最糟用例效率之間沒有差異。

適用于排序大列表,基于分治法。

六、快速排序

------------------------------------Code--------------------------------------------

/*快速排序的算法思想:選定一個(gè)樞紐元素,對(duì)待排序序列進(jìn)行分割,分割之后的序列一個(gè)部分小于樞紐元素,一個(gè)部分大于樞紐元素,再對(duì)這兩個(gè)分割好的子序列進(jìn)行上述的過程。*/ void swap(int a,int b){int t;t =a ;a =b ;b =t ;}

int Partition(int [] arr,int low,int high)

{

int pivot=arr[low];//采用子序列的第一個(gè)元素作為樞紐元素

while (low high)

{

//從后往前栽后半部分中尋找第一個(gè)小于樞紐元素的元素

while (low high arr[high] = pivot)

{

--high;

}

//將這個(gè)比樞紐元素小的元素交換到前半部分

swap(arr[low], arr[high]);

//從前往后在前半部分中尋找第一個(gè)大于樞紐元素的元素

while (low high arr [low ]=pivot )

{

++low ;

}

swap (arr [low ],arr [high ]);//將這個(gè)樞紐元素大的元素交換到后半部分

}

return low ;//返回樞紐元素所在的位置

}

void QuickSort(int [] a,int low,int high)

{

if (low high )

{

int n=Partition (a ,low ,high );

QuickSort (a ,low ,n );

QuickSort (a ,n +1,high );

}

}

----------------------------------------Code-------------------------------------

平均效率O(nlogn),適用于排序大列表。

此算法的總時(shí)間取決于樞紐值的位置;選擇第一個(gè)元素作為樞紐,可能導(dǎo)致O(n2)的最糟用例效率。若數(shù)基本有序,效率反而最差。選項(xiàng)中間值作為樞紐,效率是O(nlogn)。

基于分治法。

七、堆排序

最大堆:后者任一非終端節(jié)點(diǎn)的關(guān)鍵字均大于或等于它的左、右孩子的關(guān)鍵字,此時(shí)位于堆頂?shù)墓?jié)點(diǎn)的關(guān)鍵字是整個(gè)序列中最大的。

思想:

(1)令i=l,并令temp= kl ;

(2)計(jì)算i的左孩子j=2i+1;

(3)若j=n-1,則轉(zhuǎn)(4),否則轉(zhuǎn)(6);

(4)比較kj和kj+1,若kj+1kj,則令j=j(luò)+1,否則j不變;

(5)比較temp和kj,若kjtemp,則令ki等于kj,并令i=j,j=2i+1,并轉(zhuǎn)(3),否則轉(zhuǎn)(6)

(6)令ki等于temp,結(jié)束。

-----------------------------------------Code---------------------------

void HeapSort(SeqIAst R)

{ //對(duì)R[1..n]進(jìn)行堆排序,不妨用R[0]做暫存單元 int I; BuildHeap(R); //將R[1-n]建成初始堆for(i=n;i1;i--) //對(duì)當(dāng)前無(wú)序區(qū)R[1..i]進(jìn)行堆排序,共做n-1趟。{ R[0]=R[1]; R[1]=R[i]; R[i]=R[0]; //將堆頂和堆中最后一個(gè)記錄交換 Heapify(R,1,i-1); //將R[1..i-1]重新調(diào)整為堆,僅有R[1]可能違反堆性質(zhì) } } ---------------------------------------Code--------------------------------------

堆排序的時(shí)間,主要由建立初始堆和反復(fù)重建堆這兩部分的時(shí)間開銷構(gòu)成,它們均是通過調(diào)用Heapify實(shí)現(xiàn)的。

堆排序的最壞時(shí)間復(fù)雜度為O(nlgn)。堆排序的平均性能較接近于最壞性能。 由于建初始堆所需的比較次數(shù)較多,所以堆排序不適宜于記錄數(shù)較少的文件。 堆排序是就地排序,輔助空間為O(1), 它是不穩(wěn)定的排序方法。

堆排序與直接插入排序的區(qū)別:

直接選擇排序中,為了從R[1..n]中選出關(guān)鍵字最小的記錄,必須進(jìn)行n-1次比較,然后在R[2..n]中選出關(guān)鍵字最小的記錄,又需要做n-2次比較。事實(shí)上,后面的n-2次比較中,有許多比較可能在前面的n-1次比較中已經(jīng)做過,但由于前一趟排序時(shí)未保留這些比較結(jié)果,所以后一趟排序時(shí)又重復(fù)執(zhí)行了這些比較操作。

堆排序可通過樹形結(jié)構(gòu)保存部分比較結(jié)果,可減少比較次數(shù)。

八、拓?fù)渑判?/p>

例 :學(xué)生選修課排課先后順序

拓?fù)渑判颍喊延邢驁D中各頂點(diǎn)按照它們相互之間的優(yōu)先關(guān)系排列成一個(gè)線性序列的過程。

方法:

在有向圖中選一個(gè)沒有前驅(qū)的頂點(diǎn)且輸出

從圖中刪除該頂點(diǎn)和所有以它為尾的弧

重復(fù)上述兩步,直至全部頂點(diǎn)均已輸出(拓?fù)渑判虺晒Γ蛘弋?dāng)圖中不存在無(wú)前驅(qū)的頂點(diǎn)(圖中有回路)為止。

---------------------------------------Code--------------------------------------

void TopologicalSort()/*輸出拓?fù)渑判蚝瘮?shù)。若G無(wú)回路,則輸出G的頂點(diǎn)的一個(gè)拓?fù)湫蛄胁⒎祷豋K,否則返回ERROR*/

{

int indegree[M];

int i,k,j;

char n;

int count=0;

Stack thestack;

FindInDegree(G,indegree);//對(duì)各頂點(diǎn)求入度indegree[0....num]

InitStack(thestack);//初始化棧

for(i=0;iG.num;i++)

Console.WriteLine("結(jié)點(diǎn)"+G.vertices[i].data+"的入度為"+indegree[i]);

for(i=0;iG.num;i++)

{

if(indegree[i]==0)

Push(thestack.vertices[i]);

}

Console.Write("拓?fù)渑判蜉敵鲰樞驗(yàn)椋?);

while(thestack.Peek()!=null)

{

Pop(thestack.Peek());

j=locatevex(G,n);

if (j==-2)

{

Console.WriteLine("發(fā)生錯(cuò)誤,程序結(jié)束。");

exit();

}

Console.Write(G.vertices[j].data);

count++;

for(p=G.vertices[j].firstarc;p!=NULL;p=p.nextarc)

{

k=p.adjvex;

if (!(--indegree[k]))

Push(G.vertices[k]);

}

}

if (countG.num)

Cosole.WriteLine("該圖有環(huán),出現(xiàn)錯(cuò)誤,無(wú)法排序。");

else

Console.WriteLine("排序成功。");

}

----------------------------------------Code--------------------------------------

算法的時(shí)間復(fù)雜度O(n+e)。

文章題目:拓?fù)渑判蛩惴╦ava代碼 拓?fù)渑判蛩惴▊未a
當(dāng)前路徑:http://www.chinadenli.net/article40/dooigho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航手機(jī)網(wǎng)站建設(shè)移動(dòng)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化定制開發(fā)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)