【c++期末刷题】完成函数 listSort 的编写,该函数对单向链表进行 从小到大排序并返回。

/*------------------------------------------------ 
【程序设计】
-------------------------------------------------- 
题目:完成函数 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; 
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值