{"id":44,"date":"2007-04-25T07:11:45","date_gmt":"2007-04-24T23:11:45","guid":{"rendered":"http:\/\/127.0.0.1\/website_linux\/blog\/?p=44"},"modified":"2007-04-25T07:11:45","modified_gmt":"2007-04-24T23:11:45","slug":"%e5%87%a0%e7%a7%8d%e6%8e%92%e5%ba%8f%e7%ae%97%e6%b3%95%e7%9a%84%e6%95%88%e7%8e%87%e6%af%94%e8%be%83","status":"publish","type":"post","link":"https:\/\/opgogo.com\/blog2\/?p=44","title":{"rendered":"\u51e0\u79cd\u6392\u5e8f\u7b97\u6cd5\u7684\u6548\u7387\u6bd4\u8f83"},"content":{"rendered":"<p>\/*<br \/>\n\u4e0b\u9762\u7684\u7a0b\u5e8f\u662f\u6211\u7684\u4e0a\u5b66\u671f\u6570\u636e\u7ed3\u6784\u7684\u8bfe\u7a0b\u8bbe\u8ba1<br \/>\n\u5e0c\u671b\u5bf9\u5373\u5c06\u5b66\u4e60\u6570\u636e\u7ed3\u6784\u7684\u670b\u53cb\u6709\u4e00\u70b9\u70b9\u5e2e\u52a9<br \/>\n\u56e0\u4e3a\u9a6c\u4e0a\u5c31\u8981\u79bb\u5f00\u7f51\u7edc2\u4e2a\u6708\u4e86\uff0c\u7b97\u662f\u4e00\u70b9\u70b9\u4e34\u522b\u7684\u793c\u7269<br \/>\nliond8  2004-3-20<br \/>\n*\/<br \/>\n# include &#8220;stdio.h&#8221;<br \/>\n# include &#8220;stdlib.h&#8221;<br \/>\n# include &#8220;string.h&#8221;<br \/>\n# include &#8220;time.h&#8221;<br \/>\n# include &#8220;windows.h&#8221;<br \/>\n# include &#8220;winbase.h&#8221;<\/p>\n<p># define   MAXSIZE   1024*5<br \/>\n# define   TRUE      1<br \/>\n# define   FALSE     0<\/p>\n<p>typedef  int  BOOL;<\/p>\n<p>typedef struct StudentData<br \/>\n{<br \/>\nint num;             \/* this is a key word*\/<br \/>\n}Data;<\/p>\n<p>typedef struct LinkList<br \/>\n{<br \/>\nint  Length;<br \/>\nData Record[MAXSIZE];<br \/>\n}LinkList;<\/p>\n<p>int  RandArray[MAXSIZE];<\/p>\n<p>\/****************banner*******************************\/<br \/>\nvoid  banner()<br \/>\n{<br \/>\nprintf(&#8220;\\n\\n\\t\\t******************************************\\n&#8221;);<br \/>\nprintf(&#8220;\\t\\t            \u6570\u636e\u7ed3\u6784\u8bfe\u7a0b\u8bbe\u8ba1\\n&#8221;);<br \/>\nprintf(&#8220;\\t\\tMade by LionD8.                   2003.6.30\\n&#8221;);<br \/>\nprintf(&#8220;\\t\\tPlese press enter.\\n&#8221;);<br \/>\nprintf(&#8220;\\t\\t******************************************&#8221;);<br \/>\ngetchar();<br \/>\nsystem(&#8220;cls.exe&#8221;);<br \/>\n}<br \/>\n\/******************\u968f\u673a\u751f\u6210\u51fd\u6570************************\/<\/p>\n<p>void  RandomNum()<br \/>\n{<br \/>\nint i;<br \/>\nsrand((int)time( NULL ));<br \/>\nfor(i=0; i<MAXSIZE; i++)\nRandArray[i]=(int)rand();\nreturn;\n}\n\n\/******************************************************\/\n\nvoid InitLinkList(LinkList* L)\n{\nint i;\nmemset(L,0,sizeof(LinkList));\nRandomNum();\nfor(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];<br \/>\nL->Length=i;<br \/>\n}<\/p>\n<p>BOOL LT(int i, int j,int* CmpNum)<br \/>\n{<br \/>\n(*CmpNum)++;<br \/>\nif (i<j) return TRUE;\nreturn FALSE;\n}\n\nvoid  Display(LinkList* L)\n{\nFILE* f;\nint i;\nif((f=fopen(\"SortRes.txt\",\"w\"))==NULL)\n{\nprintf(\"can&#39;t open file\\n\");\nexit(0);\n}\nfor (i=0; i<L->Length; i++)<br \/>\nfprintf(f,&#8221;%d\\n&#8221;,L->Record[i].num);<br \/>\nfclose(f);<br \/>\n}<\/p>\n<p>\/**********\u897f\u5c14\u6392\u5e8f*************\/<\/p>\n<p>void ShellIns&#101;rt(LinkList* L,int dk, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint i, j;<br \/>\nData  Temp;<br \/>\nfor(i=dk; i<L->Length;i++)<br \/>\n{<br \/>\nif( LT(L->Record[i].num, L->Record[i-dk].num, CmpNum) )<br \/>\n{<br \/>\nmemcpy(&#038;Temp,&#038;L->Record[i],sizeof(Data));<br \/>\nfor(j=i-dk; j>=0 &#038;&#038; LT(Temp.num, L->Record[j].num, CmpNum) ; j-=dk)<br \/>\n{<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;L->Record[j+dk],&#038;L->Record[j],sizeof(Data));<br \/>\n}<br \/>\nmemcpy(&#038;L->Record[j+dk],&#038;Temp,sizeof(Data));<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>void  ShellSort(LinkList* L, int dlta[], int t,int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint k;<br \/>\nfor (k=0; k<t; k++)\nShellIns&#101;rt(L,dlta[k],CmpNum,ChgNum);\n}\n\n\/***************************************\/\n\n\n\/********\u5feb\u901f\u6392\u5e8f***********************\/\n\nint  Partition (LinkList* L, int low, int high, int* CmpNum, int* ChgNum)\n{\nData  Temp;\nint   PivotKey;\nmemcpy(&#038;Temp,&#038;L->Record[low],sizeof(Data));<br \/>\nPivotKey=L->Record[low].num;<br \/>\nwhile (low < high)\n{\nwhile (low<high &#038;&#038; L->Record[high].num >= PivotKey)<br \/>\n{<br \/>\nhigh&#8211;;<br \/>\n(*CmpNum)++;<br \/>\n}<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;L->Record[low],&#038;L->Record[high],sizeof(Data));<br \/>\nwhile (low<high &#038;&#038; L->Record[low].num <= PivotKey)\n{\nlow++;\n(*CmpNum)++;\n}\n(*ChgNum)++;\nmemcpy(&#038;L->Record[high],&#038;L->Record[low],sizeof(Data));<br \/>\n}<br \/>\nmemcpy(&#038;L->Record[low],&#038;Temp,sizeof(Data));<br \/>\nreturn  low;<br \/>\n}<\/p>\n<p>void  QSort (LinkList* L, int low, int high, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint PivotLoc=0;<br \/>\nif (low < high)\n{\nPivotLoc=Partition(L,low,high,CmpNum,ChgNum);\nQSort(L,low,PivotLoc-1,CmpNum,ChgNum);\nQSort(L,PivotLoc+1,high,CmpNum,ChgNum);\n}\n}\n\nvoid  QuickSort (LinkList* L, int* CmpNum, int* ChgNum)\n{\nQSort(L,0,L->Length-1,CmpNum,ChgNum);<br \/>\n}<\/p>\n<p>\/*********************************************\/<\/p>\n<p>\/***********\u5806\u6392\u5e8f****************************\/<\/p>\n<p>void  HeapAdjust (LinkList* L,int s, int m, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nData Temp;<br \/>\nint j=0;<br \/>\ns++;<br \/>\nmemcpy(&#038;Temp,&#038;L->Record[s-1],sizeof(Data));<br \/>\nfor (j=2*s; j<=m ; j*=2)\n{\nif(j<m &#038;&#038; LT(L->Record[j-1].num,L->Record[j].num,CmpNum)) ++j;<br \/>\nif(!LT(Temp.num,L->Record[j-1].num,CmpNum)) break;<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;L->Record[s-1],&#038;L->Record[j-1],sizeof(Data));<br \/>\ns=j;<br \/>\n}<br \/>\nmemcpy(&#038;L->Record[s-1],&#038;Temp,sizeof(Data));<br \/>\n}<\/p>\n<p>void  HeapSort (LinkList* L, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint i=0;<br \/>\nData   Temp;<br \/>\nfor (i=L->Length\/2-1; i>=0; i&#8211;)<br \/>\nHeapAdjust(L,i,L->Length,CmpNum,ChgNum);<br \/>\nfor (i=L->Length; i>1; i&#8211;)<br \/>\n{<br \/>\nmemcpy(&#038;Temp,&#038;L->Record[0],sizeof(Data));<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;L->Record[0],&#038;L->Record[i-1],sizeof(Data));<br \/>\nmemcpy(&#038;L->Record[i-1],&#038;Temp,sizeof(Data));<br \/>\nHeapAdjust(L,0,i-1,CmpNum,ChgNum);<br \/>\n}<br \/>\n}<\/p>\n<p>\/****************\u5192\u6ce1\u6392\u5e8f****************************\/<br \/>\nvoid BubbleSort(LinkList* L, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint i,j;<br \/>\nData temp;<br \/>\nfor (i=0; i<MAXSIZE-1;i++)\n{\nfor(j=0; j<MAXSIZE-i-1;j++)\n{\nif(!LT(L->Record[j].num,L->Record[j+1].num,CmpNum))<br \/>\n{<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;temp,&#038;L->Record[j],sizeof(Data));<br \/>\nmemcpy(&#038;L->Record[j],&#038;L->Record[j+1],sizeof(Data));<br \/>\nmemcpy(&#038;L->Record[j+1],&#038;temp,sizeof(Data));<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>\/**********************************************************\/<\/p>\n<p>\/******************\u9009\u62e9\u6392\u5e8f********************************\/<br \/>\nint Sel&#101;ctMinKey(LinkList* L,int k,int* CmpNum)<br \/>\n{<br \/>\nint Min=k;<br \/>\nfor ( ; k<L->Length; k++)<br \/>\n{<br \/>\nif(!LT(L->Record[Min].num,L->Record[k].num,CmpNum))<br \/>\nMin=k;<br \/>\n}<br \/>\nreturn Min;<br \/>\n}<\/p>\n<p>void  SelSort(LinkList* L, int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint  i, j;<br \/>\nData temp;<br \/>\nfor(i=0; i<L->Length; i++)<br \/>\n{<br \/>\nj=Sel&#101;ctMinKey(L,i,CmpNum);<br \/>\nif(i!=j)<br \/>\n{<br \/>\n(*ChgNum)++;<br \/>\nmemcpy(&#038;temp,&#038;L->Record[i],sizeof(Data));<br \/>\nmemcpy(&#038;L->Record[i],&#038;L->Record[j],sizeof(Data));<br \/>\nmemcpy(&#038;L->Record[j],&#038;temp,sizeof(Data));<br \/>\n}<br \/>\n}<br \/>\n}<\/p>\n<p>\/**************************************************************\/<\/p>\n<p>void  Sel&#101;ctSort()<br \/>\n{<br \/>\nprintf(&#8220;\\n      0. Ins&#101;rtSort.&#8221;);<br \/>\nprintf(&#8220;\\n      1. ShellSort.&#8221;);<br \/>\nprintf(&#8220;\\n      2. QuickSort.&#8221;);<br \/>\nprintf(&#8220;\\n      3. HeapSort.&#8221;);<br \/>\nprintf(&#8220;\\n      4. BubbleSort.&#8221;);<br \/>\nprintf(&#8220;\\n      5. Sel&#101;ctSort.&#8221;);<br \/>\nprintf(&#8220;\\n      6. AllAbove.&#8221;);<br \/>\nprintf(&#8220;\\n \\t\\t\\t\\t   Please Sel&#101;ct Num:&#8221;);<br \/>\n}<\/p>\n<p>\/**********************************************************\/<\/p>\n<p>\/**********************************************************\/<br \/>\nvoid   AllAbove(LinkList* L,int* CmpNum, int* ChgNum)<br \/>\n{<br \/>\nint  TempTime,i;<br \/>\nint  SpendTime;<br \/>\nint dlta[3]={7,3,1};<br \/>\nint Indata[1]={1};<\/p>\n<p>TempTime=(int)GetTickCount();<br \/>\nShellSort(L,Indata,1,&#038;CmpNum[0],&#038;ChgNum[0]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tInserSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[0],ChgNum[0],SpendTime);<\/p>\n<p>for(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];     \/\/\u968f\u673a\u6570\u5217\u590d\u4f4d<br \/>\nTempTime=(int)GetTickCount();<br \/>\nShellSort(L, dlta, 3,&#038;CmpNum[1],&#038;ChgNum[1]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tShellSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[1],ChgNum[1],SpendTime);<\/p>\n<p>for(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];    \/\/\u968f\u673a\u6570\u5217\u590d\u4f4d<br \/>\nTempTime=(int)GetTickCount();<br \/>\nQuickSort(L,&#038;CmpNum[2],&#038;ChgNum[2]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tQuickSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[2],ChgNum[2],SpendTime);<\/p>\n<p>for(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];    \/\/\u968f\u673a\u6570\u5217\u590d\u4f4d<br \/>\nTempTime=(int)GetTickCount();<br \/>\nHeapSort(L,&#038;CmpNum[3],&#038;ChgNum[3]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tHeapSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[3],ChgNum[3],SpendTime);<\/p>\n<p>for(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];   \/\/\u968f\u673a\u6570\u5217\u590d\u4f4d<br \/>\nTempTime=(int)GetTickCount();<br \/>\nBubbleSort(L,&#038;CmpNum[4],&#038;ChgNum[4]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tBubbleSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[4],ChgNum[4],SpendTime);<\/p>\n<p>for(i=0; i<MAXSIZE; i++)\nL->Record[i].num=RandArray[i];   \/\/\u968f\u673a\u6570\u5217\u590d\u4f4d<br \/>\nTempTime=(int)GetTickCount();<br \/>\nSelSort(L,&#038;CmpNum[5],&#038;ChgNum[5]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\n\\tSel&#101;ctSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[5],ChgNum[5],SpendTime);<\/p>\n<p>}<\/p>\n<p>void main()<br \/>\n{<br \/>\nint sel&#101;ct=0;<br \/>\nint dlta[3]={7,3,1};<br \/>\nint Indata[1]={1};<br \/>\nint CmpNum[6],ChgNum[6];<br \/>\nint SpendTime=0;<br \/>\nint TempTime;<br \/>\nLinkList  L;<br \/>\nInitLinkList(&#038;L);<\/p>\n<p>memset(CmpNum,0,sizeof(CmpNum));<br \/>\nmemset(ChgNum,0,sizeof(ChgNum));<br \/>\nbanner();<\/p>\n<p>Sel&#101;ctSort();<br \/>\nscanf(&#8220;%d&#8221;,&#038;sel&#101;ct);<br \/>\nswitch (sel&#101;ct)<br \/>\n{<br \/>\ncase    0:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nShellSort(&#038;L,Indata,1,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tInserSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase 1:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nShellSort(&#038;L, dlta, 3,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tShellSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase 2:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nQuickSort(&#038;L,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tQuickSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase    3:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nHeapSort(&#038;L,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tHeapSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase    4:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nBubbleSort(&#038;L,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tBubbleSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase    5:<br \/>\nTempTime=(int)GetTickCount();<br \/>\nSelSort(&#038;L,&#038;CmpNum[sel&#101;ct],&#038;ChgNum[sel&#101;ct]);<br \/>\nSpendTime=(int)GetTickCount()-TempTime;<br \/>\nprintf(&#8220;\\tSel&#101;ctSort:&#8221;);<br \/>\nprintf(&#8220;\\n\\n\\tCompare number=%d\\tChange number=%d\\tSepndTime=%dms&#8221;,CmpNum[sel&#101;ct],ChgNum[sel&#101;ct],SpendTime);<br \/>\nbreak;<br \/>\ncase 6:<br \/>\nAllAbove(&#038;L,CmpNum,ChgNum);<br \/>\nbreak;<br \/>\ndefault:<br \/>\nprintf(&#8220;\\n Input  error !&#8221;);<br \/>\n}<\/p>\n<p>Display(&#038;L);<br \/>\nprintf(&#8220;\\n\\n\\tTest over, please press enter!\\n&#8221;);<br \/>\ngetchar();<br \/>\ngetchar();<br \/>\n}<\/p>\n<p>\/*<br \/>\n\u6d4b\u8bd5\u7ed3\u679c<br \/>\n\u5bf91024\u00d75\u5927\u5c0f\u7684\u968f\u673a\u6570\u5217\u6392\u5e8f6\u79cd\u7b97\u6cd5\u7684\u6d4b\u8bd5\u7ed3\u679c\u5206\u522b\u5982\u4e0b:<br \/>\n1.InserSort:<br \/>\nCompare number=6407568  Change number=6397342   SepndTime=1349ms<br \/>\n2. ShellSort:<br \/>\nCompare number=1044703  Change number=1017712   SepndTime=127ms<br \/>\n3. QuickSort:<br \/>\nCompare number=72478    Change number=30118      SepndTime=0ms<br \/>\n4. HeapSort:<br \/>\nCompare number=110696   Change number=58691      SepndTime=18ms<br \/>\n5. BubbleSort:<br \/>\nCompare number=13104640 Change number=6849429    SepndTime=1992ms<br \/>\n6. Sel&#101;ctSort:<br \/>\nCompare number=13109760 Change number=5111       SepndTime=1188ms<br \/>\n*\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/* \u4e0b\u9762\u7684\u7a0b\u5e8f\u662f\u6211\u7684\u4e0a\u5b66\u671f\u6570\u636e\u7ed3\u6784\u7684\u8bfe\u7a0b\u8bbe\u8ba1 \u5e0c\u671b\u5bf9\u5373\u5c06\u5b66\u4e60\u6570\u636e\u7ed3\u6784\u7684\u670b\u53cb\u6709\u4e00\u70b9\u70b9\u5e2e\u52a9 \u56e0\u4e3a\u9a6c\u4e0a\u5c31\u8981\u79bb\u5f00\u7f51\u7edc2\u4e2a\u6708\u4e86\uff0c\u7b97\u662f\u4e00\u70b9\u70b9\u4e34\u522b\u7684\u793c\u7269 liond8 2004-3-20 *\/ # include&hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[28],"tags":[],"class_list":["post-44","post","type-post","status-publish","format-standard","hentry","category-computer"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":0,"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"wp:attachment":[{"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opgogo.com\/blog2\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}