编程题(15_01.c) 结构 struct student { long num char name[20] int score struct student *next } 链表练习: (1).编写函数struct student * creat(int n),创建一个按学号升序排列的新链表,每个链表中的结点中 的学号、成绩由键盘输入,一共n个节点。 (2).编写函数void print(struct student *head),输出链表,格式每行一个结点,包括学号,姓名,分数。 (3).编写函数struct student * Merge(struct student *a,struct student *b), 将已知的a,b两个链表 按学号升序合并,若学号相同则保留成绩高的结点。 (4).编写函数struct student * del(struct student *a,struct student *b),从a链表中删除b链表中有 相同学号的那些结点。 (5).编写main函数,调用函数creat建立2个链表a,b,用print输出俩个链表;调用函数Merge升序合并2个 链表,并输出结果;调用函数del实现a-b,并输出结果。 a: 20304,xxxx,75, 20311,yyyy,89 20303,zzzz,62 20307,aaaa,87 20320,bbbb,79 b: 20302,dddd,65 20301,cccc,99 20311,yyyy,87 20323,kkkk,88 20307,aaaa,92 20322,pppp,83
上传时间: 2016-04-13
上传用户:zxc23456789
此小程序用java实现了可以分割的背包问题,开发平台是Eclipse。其中主要是用贪心算法实现背包问题,在将物品进行排序时,没有使用经典的Merge-sort算法,而是直接使用了java中Arrays类的sort的方法,但要自己定义类,实现接口Comparator。
上传时间: 2013-12-20
上传用户:kbnswdifs
LINUX下的文件比较工具,和WINDOWS下的Merge工具差不多
上传时间: 2013-12-24
上传用户:hewenzhi
Input : A set S of planar points Output : A convex hull for S Step 1: If S contains no more than five points, use exhaustive searching to find the convex hull and return. Step 2: Find a median line perpendicular to the X-axis which divides S into SL and SR SL lies to the left of SR . Step 3: Recursively construct convex hulls for SL and SR. Denote these convex hulls by Hull(SL) and Hull(SR) respectively. Step 4: Apply the merging procedure to Merge Hull(SL) and Hull(SR) together to form a convex hull. Time complexity: T(n) = 2T(n/2) + O(n) = O(n log n)
标签: contains Output convex planar
上传时间: 2017-02-19
上传用户:wyc199288
Creating barcodes in Microsoft庐 Office has never been easier. With BarCodeWiz Toolbar you can add barcodes to Microsoft庐 Office applications with a click of a button. In Microsoft庐 Word, create single barcodes, pages of labels, or mail Merge documents. In Microsoft庐 Excel庐, select a range of cells and automatically convert each cell to a barcode. In Microsoft庐 Access庐, create reports with barcodes based on your data tables.
标签: BarCodeWiz Microsoft Creating barcodes
上传时间: 2013-12-18
上传用户:asddsd
此文件夹中共包括十二个小程序 AVL创建平衡二叉树,通过加入一个个的结点创建,并实现了平衡二叉树中的结点删除 Boyer_Moore算法的串模式匹配 Horspool算法的串模式匹配 Graph实现了有向图的非递归广度优先遍历及非递归深度优先遍历 HeapSort利用堆排序实现优先级队列 Merge实现二路归并排序算法 MFK动态规划解背包问题 nqueue求解n皇后问题 QuickSort快速排序算法的实现。 Shell排序算法的实现。 Tree程序中实现了先序\中序\后序遍历二叉树的非递归算法。 tubao用递归法解决突包问题
标签: Boyer_Moore Horspool Grap AVL
上传时间: 2017-08-08
上传用户:佳期如梦
1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.) #include<stdio.h> #include<stdlib.h> void Merge(int arr[],int low,int mid,int high){ int i,k; int *tmp=(int*)malloc((high-low+1)*sizeof(int)); int left_low=low; int left_high=mid; int right_low=mid+1; int right_high=high; for(k=0;left_low<=left_high&&right_low<=right_high;k++) { if(arr[left_low]<=arr[right_low]){ tmp[k]=arr[left_low++]; } else{ tmp[k]=arr[right_low++]; } } if(left_low<=left_high){ for(i=left_low;i<=left_high;i++){ tmp[k++]=arr[i]; } } if(right_low<=right_high){ for(i=right_low;i<=right_high;i++) tmp[k++]=arr[i]; } for(i=0;i<high-low+1;i++) arr[low+i]=tmp[i]; } void Merge_sort(int a[],int p,int r){ int q; if(p<r){ q=(p+r)/2; Merge_sort(a,p,q); Merge_sort(a,q+1,r); Merge(a,p,q,r); } } int main(){ int a[8]={3,5,8,6,4,1,1}; int i,j; int x=10; Merge_sort(a,0,6); printf("after Merging-Sort:\n"); for(i=0;i<7;i++){ printf("%d",a[i]); } printf("\n"); i=0;j=6; do{ if(a[i]+a[j]==x){ printf("exist"); break; } if(a[i]+a[j]>x) j--; if(a[i]+a[j]<x) i++; }while(i<=j); if(i>j) printf("not exist"); system("pause"); return 0; }
上传时间: 2017-04-01
上传用户:糖儿水嘻嘻