已知具有N个数据元素的线性单链表L,利用单链表后插入算法,在L中第i个位置插入数据元素x? 如何创建单链表,满足元素按升序排列,输出该单链表,然后插入元...

\u7f16\u5199\u4e00\u4e2a\u7b97\u6cd5,\u4ee5\u5b8c\u6210\u5728\u5e26\u5934\u7ed3\u70b9\u5355\u94fe\u8868l\u4e2d\u7b2ci\u4e2a\u4f4d\u7f6e\u524d\u63d2\u5165x\u7684\u64cd\u4f5c

int insert(Linklist L,int i,int x)
{
int k=1;
Linklist p=L,s;
whlie(k<i)
{
p=p->next;
k++:
}
s=(Linklist)malloc(sizeof(LNode));
s->data=x;
s->next=p->next;
p->next=s;
return 0;
}

\u697c\u4e3b\u4f60\u597d\uff0c\u6211\u5199\u4e86\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u5e94\u8be5\u80fd\u6ee1\u8db3\u4f60\u7684\u4e0a\u8ff0\u8981\u6c42\uff0c\u5e0c\u671b\u80fd\u5e2e\u5230\u4f60\u7684\u5fd9~\uff01
#include
#include
struct Node
{
int data;
struct Node *next;
};

void insert(struct Node *L,int x)//\u51fd\u6570\u7684\u529f\u80fd\u662f\u5c06x\u63d2\u5165\u5230\u94fe\u8868L\u4e2d\u7684\u5408\u9002\u4f4d\u7f6e\uff0c\u4f7f\u94fe\u8868\u4fdd\u6301\u5347\u5e8f
{
struct Node *p = L->next,*p1 = L,*q;//p\u6307\u5411\u94fe\u8868\u7684\u7b2c\u4e00\u4e2a\u975e\u5934\u7ed3\u70b9,p1\u6307\u5411\u5176\u4e4b\u524d\u7684\u7ed3\u70b9
q = (struct Node *)malloc(sizeof(struct Node));//q\u6307\u5411\u4e00\u4e2a\u65b0\u5206\u914d\u7684\u7ed3\u70b9
if (L->next == NULL) //\u94fe\u8868\u4e3a\u7a7a\uff0c\u5219\u5c06x\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u5143\u7d20\u76f4\u63a5\u63d2\u5165\u94fe\u8868
{
L->next = q;
q->data = x;
q->next = NULL;
return ;
}
while(p && (p->data < x))//\u5426\u5219\u5bfb\u627e\u9002\u5408x\u7684\u63d2\u5165\u4f4d\u7f6e
{
p1 = p;//p1\u4fdd\u5b58\u7684\u662fp\u4e4b\u524d\u7684\u7ed3\u70b9
p = p->next;
}//\u5faa\u73af\u7ed3\u675f\u540ep\u6307\u5411\u4e00\u4e2a\u7a7a\u4f4d\u7f6e\u6216\u9996\u4e2a\u5927\u4e8ex\u7684\u7ed3\u70b9
if (p)//\u82e5p\u6ca1\u6307\u5411\u4e00\u4e2a\u7a7a\u4f4d\u7f6e
{
q->data = x;
p1->next = q;
q->next = p;
}
else
{
q->data = x;
p1->next = q;
q->next = NULL;
}
}
int main()
{
int num;
struct Node *L,*p;
L = (struct Node *)malloc(sizeof(struct Node));
L->next = NULL;
printf("\u5f00\u59cb\u521b\u5efa\u5355\u94fe\u8868\uff0c\u8bf7\u8f93\u5165\u94fe\u8868\u5143\u7d20(\u6b63\u6574\u6570)\uff0c\u8f93\u5165-1\u4ee3\u8868\u7ed3\u675f:\n");

while(scanf("%d",&num) && (num != -1))
{
insert(L,num);
}
p = L->next;
printf("\u94fe\u8868\u4e2d\u7684\u5143\u7d20\u5df2\u6392\u5217\u63d2\u5165\u5b8c\u6bd5.\u6240\u6709\u7684\u5143\u7d20\u4e3a\n");
while(p!=NULL)
{
printf("%d ",p->data);
p = p->next;
}
printf("\n");
return 0;
}

int j=1; p=head; while(j<i && p->next) { p=p->next; j++; } if(j==i) { q=new node(e); q->next=p->next; p->next=q; } else { printf("链表没有%d个元素",i); }

  • 绾挎琛: 璁剧嚎鎬ц〃鏈塶涓厓绱,浠ヤ笅鎿嶄綔涓,()鍦ㄩ『搴忚〃涓婂疄鐜版瘮鍦ㄩ摼琛ㄤ腑瀹炵幇...
    绛旓細B閿欎富瑕佸湪浜 閾捐〃涓氦鎹2涓硷紝鍙鍙樺姩涓媙ext鎸囬拡鍗冲彲锛屾病鏈夋暟鎹殑鎷疯礉澶嶅埗锛岃绾挎琛ㄩ渶瑕佷氦鎹2涓硷紝闇瑕佹嫹璐濊妭鐐圭殑鍐呭锛岃妭鐐圭殑鍐呭濡傛灉鏄釜缁撴瀯鎴栬呯被瀵硅薄鐨勮瘽锛岃繕娑夊強鍒版瀯閫犱粈涔堢殑锛屽紑閿杩樻槸鎸哄ぇ鐨 浜ゆ崲鍊艰偗瀹氭槸閾捐〃姣旂嚎鎬ц〃蹇
  • SJTU 銆婄畻娉曡璁′笌鍒嗘瀽銆嬪鑰冮
    绛旓細b. n/2 c. (n-1)/2 d. n 3銆侀噰鐢ㄤ簩鍒嗘煡鎵炬柟娉曟煡鎵鹃暱搴︿负n鐨勭嚎鎬琛ㄦ椂,姣忎釜鍏冪礌鐨骞冲潎鏌ユ壘闀垮害涓( )銆 a. O(log2n) b. O(n2) c. O(n) d. O(nlog2n) 4銆佽椤哄簭绾挎ц〃涓鏈塶涓暟鎹厓绱,鍒欏垹闄よ〃涓i涓厓绱犻渶鍚戝墠绉诲姩( )涓厓绱犮 a. n-1-i b. n-i c. i d. n+1-i 5銆...
  • 绾挎琛ㄦ槸鍏锋湁n涓( )鐨勬湁闄愬簭鍒
    绛旓細绾挎ц〃鏄鍏锋湁n涓暟鎹厓绱犵殑鏈夐檺搴忓垪銆傜嚎鎬ц〃鏄竴绉嶅父瑙佺殑鏁版嵁缁撴瀯锛屽畠鍖呭惈涓缁勬湁搴忕殑鍏冪礌锛屾瘡涓厓绱犳渶澶氬彧鏈変竴涓墠椹卞拰涓涓悗缁с傝繖绉嶇粨鏋勫彲浠ョ敤鏉ヨ〃绀轰竴绯诲垪鍏锋湁椤哄簭鍏崇郴鐨勫厓绱狅紝渚嬪鍒楄〃銆佹暟缁勭瓑銆傜嚎鎬ц〃鍙互鍒嗕负涓ょ绫诲瀷锛氶『搴忚〃鍜岄摼琛ㄣ傞『搴忚〃鏄竴绉嶅湪鍐呭瓨涓繛缁瓨鍌鐨勭嚎鎬琛紝瀹冪殑鍏冪礌鎸夌収椤哄簭鎺掑垪锛...
  • 濡備綍鐢绾挎琛ㄥ偍瀛樹簲涓暟瀛楀苟杈撳嚭
    绛旓細void CreateList_Link(LinkList &L,int n)/*绠楁硶2.11*/ {/*閫嗕綅搴(鎻掑湪琛ㄥご)杈撳叆n涓厓绱犵殑鍊,寤虹珛甯﹁〃澶寸粨鏋勭殑鍗曢摼绾挎琛↙*/ int i;LinkList p; L=(LinkList)malloc(sizeof(struct LNode)); L->next=NULL;/*鍏堝缓绔嬩竴涓甫澶寸粨鐐圭殑鍗曢摼琛*/ printf("璇疯緭鍏%d涓暟鎹\n",n); for(i=n;i>0;-...
  • 绾挎ч摼琛鏈鍝簺鐗圭偣?
    绛旓細B鍦鍗曢摼琛ㄤ腑锛岃鍙栨煇涓厓绱狅紝鍙鐭ラ亾璇鍏冪礌鐨鎸囬拡鍗冲彲锛屽洜姝ゅ崟閾捐〃鏄殢鏈哄瓨鍙栫殑瀛樺偍缁撴瀯 C椤哄簭瀛樺偍缁撴瀯灞炰簬闈欐佺粨鏋勶紝閾惧紡缁撴瀯灞炰簬鍔ㄦ D椤哄簭瀛樺偍鏂瑰紡鍙兘鐢ㄤ簬瀛樺偍绾挎缁撴瀯 绾挎ц〃鏄竴涓鍏锋湁n涓锛圓锛夌殑鏈夐檺搴忓垪 A琛ㄥ厓绱 B瀛楃 C鏁版嵁缁撴瀯 D鏁版嵁椤 瑙i噴锛氫功涓婂啓鐨勬槸鏁版嵁鍏冪礌锛屼絾鏄浜庤棰樺簲鍙互灏嗏...
  • 绾挎琛ㄦ槸鍏锋湁n涓( )鐨勬湁闄愬簭鍒
    绛旓細绾挎琛ㄦ槸鍏锋湁n涓(鏁版嵁鍏冪礌)鐨勬湁闄愬簭鍒椼傜嚎鎬ц〃锛坙inearlist锛夋槸鏁版嵁缁撴瀯鐨勪竴绉嶏紝绾挎ц〃鏄痭涓叿鏈夌浉鍚岀壒鎬х殑鏁版嵁鍏冪礌鐨鏈夐檺搴忓垪銆傜嚎鎬ц〃鏄渶鍩烘湰銆佹渶绠鍗曘佷篃鏄渶甯哥敤鐨勪竴绉嶆暟鎹粨鏋勩傜嚎鎬ц〃涓暟鎹厓绱犱箣闂寸殑鍏崇郴鏄竴瀵逛竴鐨勫叧绯伙紝鍗抽櫎浜嗙涓涓拰鏈鍚庝竴涓暟鎹厓绱涔嬪锛屽叾瀹冩暟鎹厓绱犻兘鏄灏剧浉鎺ョ殑銆傝繖鍙...
  • 鏌绾挎琛ㄤ腑鏈塶(k=2,3,4,.)涓厓绱,鍏跺叧閿瓧涓10,瑕佹壘鍑轰笉澶т簬10涓斿皬浜...
    绛旓細銆愮瓟妗堛戯細B 鏈鑰冩煡鏁版嵁缁撴瀯鍩虹鐭ヨ瘑銆備簩鍒嗘硶鏌ユ壘鍙堢О鎶樺崐鏌ユ壘锛屽畠鏄竴绉嶆晥鐜囪緝楂樻煡鎵炬柟娉曪紝瑕佹眰绾挎琛ㄦ槸鏈搴忚〃锛屽嵆琛ㄤ腑缁撶偣鎸夊叧閿瓧鏈夊簭涓斿彧閫傚悎浜庨『搴忓瓨鍌ㄧ嚎鎬х粨鏋勩備簩鍒嗘硶鏌ユ壘鍩烘湰鎬濇兂璇昏呭彲琛屾煡鎵剧浉鍏宠祫鏂欍備互 A 閫夐」涓轰緥锛屾牴鎹畻娉曪紝闇瑕佹煡鎵炬暟搴旇鏄竴涓ぇ浜18鑰屽皬浜30鏁帮紝鍚﹀垯鏍规嵁浜屽垎鏌ユ壘绠楁硶...
  • 鏁版嵁缁撴瀯棰樼洰瑙g瓟,鎬ユユ,浠婂ぉ涔嬪墠缁欏嚭绛旀杩藉姞鎮祻
    绛旓細(1) A D (2) B (3) C (4) A (5) B A (6)B (7) C (8) C (9) C (10) A (11) B (12) D (13) D (14) D (15) D
  • 绾挎琛ㄦ槸鍏锋湁n涓()鐨勬湁闄愬簭鍒
    绛旓細绾挎琛ㄦ槸n涓叿鏈鐩稿悓鐗规х殑鏁版嵁鍏冪礌鐨鏈夐檺搴忓垪銆傜嚎鎬ц〃鏄渶鍩烘湰銆佹渶绠鍗曘佷篃鏄渶甯哥敤鐨勪竴绉嶆暟鎹粨鏋勩傜嚎鎬ц〃涓暟鎹厓绱犱箣闂寸殑鍏崇郴鏄竴瀵逛竴鐨勫叧绯伙紝鍗抽櫎浜嗙涓涓拰鏈鍚庝竴涓暟鎹厓绱涔嬪锛屽叾瀹冩暟鎹厓绱犻兘鏄灏剧浉鎺ョ殑锛堟敞鎰忥紝杩欏彞璇濆彧閫傜敤澶ч儴鍒嗙嚎鎬ц〃锛岃屼笉鏄叏閮ㄣ傛瘮濡傦紝寰幆閾捐〃閫昏緫灞傛涓婁篃鏄竴绉嶇嚎鎬...
  • 瀵归暱搴︿负n鐨勭嚎鎬琛ㄨ繘琛岄『搴忔煡鎵,鍦ㄦ渶鍧忕殑鎯呭喌涓嬫墍闇瑕佺殑姣旇緝娆℃暟涓簄...
    绛旓細鏄痭銆傝В棰樻濊矾锛氭渶绯熺硶鐨勬儏鍐靛簲璇ユ槸姣旇緝鍒扮嚎鎬ц〃鏈鍚庝竴涓硷紝涔熸病鏈鏌ユ壘鍒版墍闇瑕佺殑鍊硷紝閭d箞浠庣嚎鎬ц〃鐨勭0涓煎紑濮嬫瘮杈冿紝姣忔鍙栧嚭涓涓兼瘮杈冿紝涓嶇鍚堬紝鍐嶅彇涓嬩竴涓硷紝渚濇姣旇緝锛屼竴鐩村埌鏈鍚庝竴涓紝閭d箞闀垮害涓N锛屽氨闇瑕佹瘮杈僋娆°傚闀垮害涓n鐨勭嚎鎬琛ㄨ繘琛岄『搴忔煡鎵撅紝鍦ㄦ渶鍧忔儏鍐典笅鎵闇瑕佺殑姣旇緝娆℃暟涓簄锛屽钩鍧...
  • 扩展阅读:对于给定的n个元素 ... 数据元素四类基本结构 ... 数据元素和数据项 ... 数据的三个基本元素 ... 数据元素之间关系最弱 ... 数据分析20种图表 ... 数据元素与数据的区别 ... 设顺序表中有n个数据元素 ... 数据的数据元素指的是 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网