<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://gentoo-zh.org/extern.php?action=feed&amp;tid=383&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo-zh / C 练习实例74]]></title>
		<link>http://www.gentoo-zh.org/viewtopic.php?id=383</link>
		<description><![CDATA[C 练习实例74 最近发表的帖子。]]></description>
		<lastBuildDate>Mon, 29 Aug 2022 11:44:23 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[C 练习实例74]]></title>
			<link>http://www.gentoo-zh.org/viewtopic.php?pid=389#p389</link>
			<description><![CDATA[<p>题目：连接两个链表。</p><p>程序分析：无。</p><div class="codebox"><pre class="vscroll"><code>#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
struct list
{
    int data;
    struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer,link tmp)
{
    if (tmp==NULL) /*delete first node*/
        return pointer-&gt;next;
    else
    {
        if(tmp-&gt;next-&gt;next==NULL)/*delete last node*/
            tmp-&gt;next=NULL;
        else /*delete the other node*/
            tmp-&gt;next=tmp-&gt;next-&gt;next;
    return pointer;
    }
}
void selection_sort(link pointer,int num)
{
    link tmp,btmp;
    int i,min;
    for(i=0;i&lt;num;i++)
    {
        tmp=pointer;
        min=tmp-&gt;data;
        btmp=NULL;
        while(tmp-&gt;next)
        {
            if(min&gt;tmp-&gt;next-&gt;data)
            {
                min=tmp-&gt;next-&gt;data;
                btmp=tmp;
            }
            tmp=tmp-&gt;next;
        }
        printf(&quot;\40: %d\n&quot;,min);
        pointer=delete_node(pointer,btmp);
    }
}
link create_list(int array[],int num)
{
    link tmp1,tmp2,pointer;
    int i;
    pointer=(link)malloc(sizeof(node));
    pointer-&gt;data=array[0];
    tmp1=pointer;
    for(i=1;i&lt;num;i++)
    {
        tmp2=(link)malloc(sizeof(node));
        tmp2-&gt;next=NULL;
        tmp2-&gt;data=array[i];
        tmp1-&gt;next=tmp2;
        tmp1=tmp1-&gt;next;
    }
    return pointer;
}
link concatenate(link pointer1,link pointer2)
{
    link tmp;
    tmp=pointer1;
    while(tmp-&gt;next)
        tmp=tmp-&gt;next;
    tmp-&gt;next=pointer2;
    return pointer1;
}
int main(void)
{
    int arr1[]={3,12,8,9,11};
    link ptr;
    ptr=create_list(arr1,5);
    selection_sort(ptr,5);
}</code></pre></div>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Mon, 29 Aug 2022 11:44:23 +0000</pubDate>
			<guid>http://www.gentoo-zh.org/viewtopic.php?pid=389#p389</guid>
		</item>
	</channel>
</rss>
