程序员面试题目总结--链表(6)【单链表排序】
2014-08-18 20:43
288 查看
6、单链表排序
题目:单链表排序
分析:冒泡排序
题目:单链表排序
分析:冒泡排序
//单链表排序 #include<iostream> using namespace std; typedef struct node { int data; node *next; }linklist; linklist *head=NULL; //创建链表 linklist* CreateList(int* arr,int len) { int data; linklist* pCur,* pRear; head=(linklist*)malloc(sizeof(linklist)); pRear=head; int count=0; while(count<len) { pCur=(linklist*)malloc(sizeof(linklist)); pCur->data=arr[count]; pRear->next=pCur; pRear=pCur; count++; } pRear->next=NULL; return head; } //显示链表 void ShowList(linklist* p) { while(p) { cout<<p->data <<' '; p=p->next; } cout << endl; } //链表冒泡排序 void BubbleSortList(linklist* p) { linklist* pTemp; linklist* pNode; for(pTemp=p->next;pTemp->next;pTemp=pTemp->next) { for(pNode=p->next;pNode->next;pNode=pNode->next) { if(pNode->data > pNode->next->data) { swap(pNode->data,pNode->next->data); } } } } int main() { int a[]={3,4,5,1,2,-1,7}; CreateList(a,sizeof(a)/sizeof(a[0])); BubbleSortList(head); ShowList(head->next); return 0; }
相关文章推荐
- 程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】
- 程序员面试题目总结--链表(2)【找出单链表中的倒数第K个元素】
- 程序员面试题目总结--链表(5)【寻找单链表的中间结点】
- 程序员面试题目总结--链表(3)【单链表反转】
- 程序员面试题目总结--链表(4)【从尾到头输出单链表】
- 程序员面试题目总结--链表(1)【单链表插入和删除】
- 面试总结:用Java搞定面试中的链表题目
- (转)面试大总结之一:Java搞定面试中的链表题目
- 程序员面试题目总结--数组(27)【Two Sum 、3Sum、3Sum Closest 、4Sum】
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 对程序员面试题目的重要总结
- 面试大总结之一:Java搞定面试中的链表题目
- 链表面试笔试题目总结
- 面试大总结之一:Java搞定面试中的链表题目
- 面试题五 C/C++面试秘笈 之链表的正向排序--程序员面试题
- 面试大总结之一:Java搞定面试中的链表题目
- 程序员面试题目总结--数组(四)【数列中符合条件数对的个数、数组是否存在重复元素、重新排列数组使数组左边为奇数,右边为偶数、数组中的第二大数、数组中的最小值和最大值】
- 面试常见题目之海量数据排序(编程珠玑总结一)
- 面试大总结:Java搞定面试中的链表题目总结
- 面试大总结之一:Java搞定面试中的链表题目