四、设计题(共14分) 1.设字符串仅由圆括号“(”和“)”,方括号“[”和“]”,花括号“{”和“}”组成,利用链栈的操作编写一个检查括号是否正确配对的算法:int Matcher(LstackTP *ls)。例如[{{()}[ ]}(){[ ]}]是正确的,而{({()[ ]})}])}则不正确。设链栈定义如下:(6分) typedef struct node { char data; struct node * next; } LStackTp; 2.利用一维数组a可以对n个整数进行排序,其中一种排序算法的处理思想是:将n个整数分别作为数组a的n个元素的值,每次(即第i次)从元素a[i]到a[n]中挑出最小的一个元素a[k](i≤k≤n),然后将a[k]与a[i]换位。这样反复n-1次完成排序。编写实现上述算法的函数:void sort(int a[],int n)。(8分)
|