/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:完成函数 listSort 的编写,该函数对单向链表进行
从小到大排序并返回。
--------------------------------------------------
注意:仅在标有"Program"和"End"的注释行之间补充填写
代码。请勿改动主函数 main 和其它任何已有内容。
------------------------------------------------*/
#include<iostream>
#include <fstream>
#include <string>
using namespace std;
void grading();
struct Node {
int num;
Node *next;
};
Node * listSort(Node *head)
{
/*********Program*********/
Node* p = head;
for(;p!=NULL;p=p->next){
for(Node* j=p->next;j!=NULL;j=j->next){
if(p->num>j->num){
swap(p->num,j->num);
}
}
}
return head;
/********* End *********/
}
void deleteList(Node *head)
{
Node *tmp;
while (head)
{
tmp = head->next;
delete head;
head = tmp;
}
}
void printList(Node *head)
{
while(head)
{
cout<<head->num<<" ";
head = head->next;
}
cout<<endl;
}
Node * createList(int a[], int len)
{
Node *head = NULL;
if(len<1)
return head;
for(int i=0;i<len;i++)
{
Node *tmp = new Node;
tmp->num = a[i];
tmp->next = head;
head = tmp;
}
return head;
}
int main()
{
int s[8] = {2,6,4,2,7,9,5,12};
Node * head = createList(s,8);
head = listSort(head);
printList(head);
//忽略阅读
//忽略阅读结束
deleteList(head);
return 0;
}
【c++期末刷题】完成函数 listSort 的编写,该函数对单向链表进行 从小到大排序并返回。
最新推荐文章于 2022-08-18 16:00:46 发布