各位C语言高手来帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/13 04:53:15
我要编一个程序,该程序含有三个函数和一个main函数.
函数一、建立一个数据域为int的动态单链表,
函数二、将数据按升序排列,
函数三、输入一个数插入链表中,并使数据依然升序排列.

数据域的值是0~999的一个随机数。

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

struct Node
{
int val;
Node* pNext;
};

Node* Create(int n)/*函数一、建立一个数据域为int的动态单链表*/
{
Node *pHead,*pNode,*pPrev;
int i;
pHead=new Node;
pPrev=pHead;
srand( (unsigned)time( NULL ) );
pHead->val=rand()%1000;
for(i=0;i<n;i++)
{
pNode=new Node;
pPrev->pNext=pNode;
pNode->val=rand()%1000;
pPrev=pNode;
}
pNode->pNext=NULL;
return pHead;
}

void selectsort(Node* pHead)/* 函数二、将数据按升序排列*/
{
Node *pNode,*pNext;
int Temp;
pNode=pHead;
while(pNode!=NULL)
{
pNext=pNode->pNext;
while(pNext!=NULL)
{
if(pNode->val>pNext->val)
{
Temp=pNode->val;
pNode->val=pNext->val;
pNext->val=Temp;
}